UIWebView头文件学习

先来看看UIWebViewDelegate:


- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;


 该方法返回值表示是否允许加载目标链接的页面内容,YES表示允许,NO表示不允许;

 UIWebViewNavigationType枚举类型(表示界面中用户行为类型):

 UIWebViewNavigationTypeLinkClicked,     用户点击了链接

 UIWebViewNavigationTypeFormSubmitted,   用户提交了表单

 UIWebViewNavigationTypeBackForward,     用户点击了前进或者返回按钮

 UIWebViewNavigationTypeReload,          用户点击了重新加载按钮

 UIWebViewNavigationTypeFormResubmitted, 用户重新提交了表单

 UIWebViewNavigationTypeOther            其他行为



- (void)webViewDidStartLoad:(UIWebView *)webView;

 网页开始加载的时候被调用


- (void)webViewDidFinishLoad:(UIWebView *)webView;

 网页加载完毕的时候被调用

 

- (void)webView:(UIWebView *)webView didFailLoadWithError:(nullableNSError *)error;

 网页加载出错的时候被调用


 不要忘记设置webview的代理


 一些常用的属性介绍:

 paginationMode(iOS7以后):当加载的网页大小大于view时,网页会以翻页的效果展示

 UIWebPaginationModeUnpaginated,  不使用翻页效果

 UIWebPaginationModeLeftToRight,  从左向右翻页

 UIWebPaginationModeTopToBottom,  从上向下翻页

 UIWebPaginationModeBottomToTop,  从下向上翻页

 UIWebPaginationModeRightToLeft   从右向左翻页


paginationBreakingMode(iOS7以后):加载页面具有CSS属性时是使用页的样式还是以列的样式

UIWebPaginationBreakingModePage,  //页模式

UIWebPaginationBreakingModeColumn //列模式


@property (nonatomic) BOOL scalesPageToFit; 

缩放HTML页面来适配其视图大小,从而达到整屏显示内容的效果,并且用户可以用捏合动作来放大或缩小页面来查看内容


@property (nonatomic) BOOL detectsPhoneNumbers NS_DEPRECATED_IOS(2_0, 3_0);

自动检测网页上的电话号码,点击可以拨打(被禁用了,以下面的属性替代)


@property (nonatomic) UIDataDetectorTypes dataDetectorTypes NS_AVAILABLE_IOS(3_0);

检测网页上的各种数据类型,执行相应的操作(UIDataDetectorTypes包含了所有的类型,可以根据需要使用


@property (nonatomic) BOOL allowsInlineMediaPlayback NS_AVAILABLE_IOS(4_0);

用内嵌HTML5播放视频还是用本地的全屏控制


@property (nonatomic) BOOL mediaPlaybackRequiresUserAction NS_AVAILABLE_IOS(4_0); 

内嵌HTML5播放视频是自动播放还是用户启动


@property (nonatomic) BOOL mediaPlaybackAllowsAirPlay NS_AVAILABLE_IOS(5_0);

是否可以Air Play


@property (nonatomic) CGFloat pageLength NS_AVAILABLE_IOS(7_0);

设置每一页长度


@property (nonatomic) CGFloat gapBetweenPages NS_AVAILABLE_IOS(7_0);

设置页间距


@property (nonatomic, readonly) NSUInteger pageCount NS_AVAILABLE_IOS(7_0);

分页数


@property (nonatomic) BOOL allowsPictureInPictureMediaPlayback NS_AVAILABLE_IOS(9_0);

画中画(Picture inPicture)功能:让用户在多个应用中可以悬浮播放视频,并可移动视频窗口以及调整窗口大小


@property (nonatomic) BOOL allowsLinkPreview NS_AVAILABLE_IOS(9_0);

在3D Touch中    开启peek和pop


webview加载网页的三种方式

- (void)loadRequest:(NSURLRequest *)request; 直接加载url

- (void)loadHTMLString:(NSString *)string baseURL:(nullableNSURL *)baseURL; 加载本地html文件内容

- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName baseURL:(NSURL *)baseURL; 将本地数据转化为NSData加载到webView


- (void)reload;       重新加载  

- (void)stopLoading;  停止加载      相关的属性 : loading
- (void)goBack;       返回         相关的属性 : canGoBack

- (void)goForward;    前进         相关的属性 : canGoForward


- (nullable NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;用于操作UIWebview中的元素

例如:

         //获得UIWebView的URL地址
         NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];

        //获得UIWebView的titile

         NSString *currentTitle = [webView stringByEvaluatingJavaScriptFromString:@"document.title"];

        。。。。。。 (以后要多学习点h5,js了)


 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值