坐游轮游手机可以放在行李箱过安检图片里安检吗?

1790人阅读
Swift之实践(5)
代码,粘贴过去即可
1.选中工程,点击右键,New File&在iOS下选中Othe&Empty,生成一个.js的脚本文件,将代码粘贴过去保存;
var script = document.createElement('script');
script.type = 'text/javascript';
script.text = '
function signin_go(){
location.href="ios:@signin_go";
document.getElementsByTagName('head')[0].appendChild(script);
2.实现过程;
import UIKit
class ViewController: UIViewController,UIWebViewDelegate {
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
webView.loadRequest(NSURLRequest(URL: NSURL(string: "/user/signin")!))
webView.delegate = self
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -& Bool{
let rurl =
request.URL?.absoluteString
if (rurl!.hasPrefix("ios:")){
let method =
rurl!.componentsSeparatedByString("@")[1]
if method == "signin_go"{
signin_go()
return false
return true
func webViewDidFinishLoad(webView: UIWebView){
let jsPath =
NSBundle.mainBundle().pathForResource("app", ofType: "js")
var jsString :String = try! String(contentsOfFile: jsPath!, encoding: 4)
jsString = jsString.stringByReplacingOccurrencesOfString("\n", withString: "")
webView.stringByEvaluatingJavaScriptFromString(jsString as String)
func signin_go(){
NSLog("JS 调用了OC中的signin_go方法")
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
3.点击网页中登录按钮,会调用OC中的signin_go方法;
参考原著出现的错误
1.参考原著的时候,会提示以下错误;
解决方法: 在前面加上try! ;
var jsString :String = try! String(contentsOfFile: jsPath!, encoding: 4)
2.encoding为0时,会提示以下错误信息,原因是编码格式错误;
2016-03-01 13:21:31.860 Swift_UIWebView[2292:905421] Incorrect NSStringEncoding value 0x0000 detected. Assuming NSASCIIStringEncoding. Will stop this compatiblity mapping behavior in the near future.
解决方法:将encoding值设置为4,设置UTF8的编码格式即可;
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:102336次
积分:1861
积分:1861
排名:第19668名
原创:79篇
转载:21篇
评论:21条
(2)(1)(7)(1)(2)(2)(1)(1)(1)(2)(24)(9)(16)(14)(14)(1)(1)(1)#import &ViewController.h&@interface ViewController ()&UIWebViewDelegate&@property (weak, nonatomic) IBOutletUIWebView *webV@end@implementation ViewController- (void)viewDidLoad {& & [superviewDidLoad];& & // Do any additional setup after loading the view, typically from a nib.}- (void)uiConfig{& & self.webView.delegate =self;}#pragma mark - 设置图片的宽度适应屏幕的大小- (void)setWebViewHtmlImageFitPhone{& & CGFloat width = [[UIScreenmainScreen]bounds].size.width;&& && & NSString *jsStr = [NSStringstringWithFormat:@&var script = document.createElement('script');&&& & & & & & & & & & &script.type = 'text/javascript';&&& & & & & & & & & & &script.text = /&function ResizeImages() { &&& & & & & & & & & & &var myimg,&&& & & & & & & & & & &var maxwidth = '%f';& //自定义宽度&& & & & & & & & & & &for(i=0;i &document.images.i++){&&& & & & & & & & & & &myimg = document.images[i];&&& & & & & & & & & & &if(myimg.width & maxwidth){&&& & & & & & & & & & &oldwidth = myimg.&&& & & & & & & & & & &myimg.width =&&& & & & & & & & & & &}&&& & & & & & & & & & &}&&& & & & & & & & & & &}/&;&&& & & & & & & & & & &document.getElementsByTagName('head')[0].appendChild(script);&,width];& & [_webViewstringByEvaluatingJavaScriptFromString:jsStr];& & [_webViewstringByEvaluatingJavaScriptFromString:@&ResizeImages();&];}- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{& & return YES;}- (void)webViewDidStartLoad:(UIWebView *)webView{& & NSLog(@&开始加载&);}- (void)webViewDidFinishLoad:(UIWebView *)webView{& & NSLog(@&加载完成&);& & [selfsetWebViewHtmlImageFitPhone];}- (void)webView:(UIWebView *)webView didFailLoadWithError:(nullableNSError *)error{& & NSLog(@&加载失败 error == %@&,error);}- (void)didReceiveMemoryWarning {& & [superdidReceiveMemoryWarning];& & // Dispose of any resources that can be recreated.}@end
mac spring redis
最新教程周点击榜
1mac spring redis
微信扫一扫

我要回帖

更多关于 行李箱放在哪里 的文章

 

随机推荐