UIWebView的探索
UIWebView
说到iOS的UIWebView,应该会很快回忆起常用委托方法,异步loadRequest、stopLoading、reload方法等。
在此我总结一些容易忽略的属性和方法:
1、 判断webView状态,采用属性:
@property(nonatomic, readonly, getter=isLoading) BOOL loading
2、 判断webView当前是否可以前进或者后退:
@property(nonatomic, readonly, getter=canGoBack) BOOL canGoBack
@property(nonatomic, readonly, getter=canGoForward) BOOL canGoForward
3、 页面的前进和后退方法:goBack和goForward
4、 设置页面是否可放大和缩小的属性:
@property(nonatomic) BOOL scalesPageToFit
5、 运行js脚本方法:
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script
脚本的执行时间被iOS限制在10秒之类,之后就会停止执行脚本。在执行过程中也不允许用户影响页面的加载。再者,脚本的内容分配为10M,超过会发生页面异常。
例如可加入下面的更改页面伸缩属性:
<meta name="viewport" content="width=device-width, initial-scale=0.5, maximum-scale=0.5, minimum-scale=0.5, user-scalable=no" />