最近在用sencha touch在iOS上试着开发一些native-like应用,遇到不少问题,其中之一就是通过UIWebView加载web页面时,如果转动屏幕,里面的Web页面不会自动适配高宽,但是用Safari浏览时却是可以的。
用Safari的Web检查器查看sencha touch生成的页面,发现sencha touch控件生成的HTML元素,都是指定了width/height的,当转动屏幕时,如果只是UIWebView转动,而不重新计算这些HTML元素的width/height,就会导致上述问题。
google了一下,这篇文章
中说Safari中之所以可以自动适配sencha touch产生的HTML元素,是由于Safari在转动屏幕时,会触发document的orientationchange事件,从而sencha touch可以捕获这个事件,重新计算控件产生的HTML元素的高宽,达到自动适配的目的。而UIWebView的orientation是你自己的程序处理的,你也要在获取orientation事件时告诉web的document,方法就是通UIWebView.stringByEvaluatingJavaScriptFromString。但具体如何触发呢?
就是给document产生一个orientationchange事件,剩下的由sencha touch处理好了(sencha touch的所有控件都可以响应这个事件重新计算高宽)。
示例代码:
//add by iame
var e = document.createEvent('Events');
e.initEvent('orientationchange', true, false);
document.dispatchEvent(e);
不需要设置具体是landscape,portrait,只需要设置事件名称对就好了。sencha touch会在处理事件时,自动判断是landscape,还是portrait。
分享到:
相关推荐
之前提到UIWebView使用一个UIScrollView对象来关联web页面的内容,通过UIWebView的scrollView属性即可获得该对象,默认情况下网页长度超出设备视口长度后页面会滚动,用户使用手指滚动页面到页面边距并放开手指后...
UIWebView Web 网页 Demo 代码
UIWebView原生与H5交互,pre;confirm;等包含三个H5页面跳转的交互demo
主要为大家详细介绍了iOS之UIWebView无法获取web标题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
UIWebView+html+css,实现UIWebView中可点击链接,并且可显示gif动画效果
UIWebView与JS交互小例子,其中涉及APP向JS提交信息,和JS提交信息给App
UIWebView和js交互 里边自己写了个H5方便大家理解
IOS开发中因为引入cocos2dx,导致代码审核不通过无法提交( Apple will stop accepting submissions of apps that use UIWebView APIs )。该问题的解决方案有两种:1)升级Cocos2dx的版本,在查看Cocoas官网及Cocoas...
使用UIWebView和JS进行交互,可以OC操作js,也可以JS对OC进行交互
这是我在学习ios的过程中写的一个demo,使用UIWebView实现一个简单的浏览器
网页视图的基本使用,网络资源地址字符串的处理,UIWebView属性与协议的综合使用;
UIWebView实现图文混排
UIWebview使用中的js交互简单的简析 欢迎大家指点 共同学习
caravel, uiwebview/WKWebView和JS的快速事件总线 在 uiwebview/WKWebView和嵌入式JS之间发送消息总线的开销为 。 用纯Swift制作。特性简单。快速。可靠的事件总线系统多总线支持多线程支持支持 WKWebViewiOS ~> ...
这是iPhone开发之UIWebView示例程序,具体参考: http://blog.csdn.net/htttw/article/details/7888557
iOS UIWebView URL拦截.pdf
UIWebVeiw的使用,功能包括“返回上页”“在safari打开”“网页刷新”
一个简单的demo实现了对html页面上简单事件的响应,但是没有实现获取输入的值
ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Unity IOS审核被拒,解决办法,去网上看了好多帖子,...