ios 周刊第六期读唐巧书总结
2015-07-25 10:03
309 查看
1.UIWebView和oc相互调用
在实际项目中我也遇到过js和oc交互的地方。一个是在webView页面响应按钮,二个是接收webView里面的数据。参考iOS第四期。
接收webView的按钮的做法很简单:就是在这个按钮里面加一个非法的链接,然后在webView的代理方法shouldstartLoadWithrequest 里面去判断是否是我们自定义的链接,是,就做相应的逻辑处理。
第二个问题:获取用户在html5页面交互产生的数据,我之前的做法是包含在我自定义的非法链接里面,但是,我们这个链接要分享到微信,微信打开是没问题的,但是用浏览器打开有bug,因为我们定义了一个非法的链接,会不断的循环。
最后我的解决方案是:让js端新建一个空白的透明的 iFame,将我们需要的参数放在iFrame.src。但是,在唐巧的书里面也要更好的解释,将需要的参数以JSON的形式传递,
2.UIWindow
对于这个我们接触的很少,他是应用最顶层的容器,通常只有一个UIWindow,但是,有些时候掉哟系统的控件如UIAlertView,ios系统为了保证UIAlertView在所有的界面之上,会临时创建一个新的UIWindow,通过设置UIWindowLevel,让UIAlertView盖在最顶层。
那么什么是WindowLeVel,它又三种取值,UIWindowLevelNormal,UIWindowLebelAlert,UiWindowLevelStatusBar,默认是normal,当系统需要在上面覆盖UIAlertView时候就是alert,但是在实际中,不止这3个值。
在实际项目中我也遇到过js和oc交互的地方。一个是在webView页面响应按钮,二个是接收webView里面的数据。参考iOS第四期。
接收webView的按钮的做法很简单:就是在这个按钮里面加一个非法的链接,然后在webView的代理方法shouldstartLoadWithrequest 里面去判断是否是我们自定义的链接,是,就做相应的逻辑处理。
第二个问题:获取用户在html5页面交互产生的数据,我之前的做法是包含在我自定义的非法链接里面,但是,我们这个链接要分享到微信,微信打开是没问题的,但是用浏览器打开有bug,因为我们定义了一个非法的链接,会不断的循环。
最后我的解决方案是:让js端新建一个空白的透明的 iFame,将我们需要的参数放在iFrame.src。但是,在唐巧的书里面也要更好的解释,将需要的参数以JSON的形式传递,
2.UIWindow
对于这个我们接触的很少,他是应用最顶层的容器,通常只有一个UIWindow,但是,有些时候掉哟系统的控件如UIAlertView,ios系统为了保证UIAlertView在所有的界面之上,会临时创建一个新的UIWindow,通过设置UIWindowLevel,让UIAlertView盖在最顶层。
那么什么是WindowLeVel,它又三种取值,UIWindowLevelNormal,UIWindowLebelAlert,UiWindowLevelStatusBar,默认是normal,当系统需要在上面覆盖UIAlertView时候就是alert,但是在实际中,不止这3个值。
相关文章推荐
- iOS 调试
- 编写高质量iOS与OS X代码的52个有效方法上
- IOS学习整理(一)视图层次结构与视图控制器
- Visual Studio 2013 Xamarin for iOS 环境搭建
- 快快快!27个提升效率的iOS开源库推荐
- ios 最全的常用字符串操作
- IOS开发学习记录第2天之熟悉Xcode常用快捷键
- IOS开发学习记录第1天之熟悉Mac常用快捷键
- 数据离线缓存与读取
- Windows下搭建IOS开发环境(二)
- Windows下搭建IOS开发环境(一)
- 第一天的学习ios博客
- iOS开发拓展篇—静态库
- <极客学院>视频教程学习笔记-iOS中CALayer的使用
- ios autolayerout
- 常用方法-各种常用方法封装
- iOS之通讯录1
- iOS开发中的压缩以及解压
- iOS中大文件下载(单线程下载)
- IOS学习 nib加载相关内容(1)