UIWebView相关API学习
2016-06-12 14:46
309 查看
//1.UIWebViewNavigationType枚举定义了页面中用户行为的分类
//2. 加载内容关于分页显示几种不同类型
//3.这个枚举决定了webView加载页面具有CSS属性时是使用页的样式还是以列的样式。
//4.实现WebView代理方法
//5.WebView的scrollView属性
//6.UIWebView加载资源最常用的一种方式,直接给出URL进行加载
//7.UIWebView加载资源第二种方式,将本地html文件内容嵌入到WebView
//8.UIWebView加载资源第三种方式将本地数据转化为NSData嵌入到webView
//9.URL请求
//10.webView加载刷新
//11. webView停止加载
//12.当webView跳转了一个网页时,执行goBack可以回退到之前的界面。
//13..执行goForward前进一个之前跳过的界面
//14.只读型bool值,用来判断当前页面是否可以回退
//15.只读型bool值,用来判断当前页面是否可以前进
//16.只读型bool值,用来判断当前页面是否可以加载刷新
//17.这个方法需要等到webView加载完毕之后才会调用,通过它我们可以很方便的操作UIWebView中的页面元素。参数script用来传进当前页面文件元素字符串,对传进来的字符串进行相应的操作,例如[webview
stringByRvaluaingJavaScriptFromString:@“document.title”],可以得到页面的title
//18.是否让内容伸缩至适应屏幕当前尺寸
//19.这个属性如果设置为YES,当进入到页面视图可以自动检测电话号码,让用户可以单机号码进行拨打,不过现已弃用。
//20.这个属性可以设定使电话号码,网址,电子邮件和符合格式的日期等文字变为连接文字。
//21.这个属性决定了页面用内嵌HTML5播放视频还是用本地的全屏控制。为了内嵌视频播放,不仅仅需要在这个页面上设置这个属性,还需要在HTML的viedeo元素必须包含webkit-playsinline属性。默认iPhone为NO,iPad为YES。
//22.这个属性决定了HTML5视频可以自动播放还是需要用户启动播放。iPhone和iPad默认都是YES。
//23.这个属性决定了从这个页面是否可以Air Play。iPhone和iPad上都是默认YES。
//24.这个值决定了网页内容的渲染是否在把内容全部假爱到内存中再去处理。如果设置为YES,只有网页内容加载到内存里了才会去渲染。默认为NO。
//25.这个属性如果设置为YES,用户必须明确的点击页面上的元素或者相关联的输入页面来显示键盘,。如果设置为NO,一个元素的焦点事件就会导致输入视图的显示和自动关联这个元素。
//26.iOS7之后的新API,设置页面分页模型选择。
//27.这个属性决定了CSS属性是采用column-break还是page-breaking样式。
//28.分页的长度
//29.多个页面之间差距值
//30.分页的个数。
//31.UIWebView的代理方法,当webview开始加载请求的时候回去调用,可以拦截一些用户的行为是否加载。返回YES代表允许加载,返回NO代表停止加载。
//32.webView加载开始的时候调用。
//33.webView加载完毕的时候调用。
//34.webView加载失败的时候调用
typedef NS_ENUM(NSInteger, UIWebViewNavigationType) { UIWebViewNavigationTypeLinkClicked, //用户触发了一个链接 UIWebViewNavigationTypeFormSubmitted, //用户提交了一个表单 UIWebViewNavigationTypeBackForward, //用户触击前进前进或返回按钮 UIWebViewNavigationTypeReload, //用户触击重新加载的按钮 UIWebViewNavigationTypeFormResubmitted, //用户重复提交表单 UIWebViewNavigationTypeOther //发生了其他行为 };
//2. 加载内容关于分页显示几种不同类型
typedef NS_ENUM(NSInteger, UIWebPaginationMode) { UIWebPaginationModeUnpaginated, UIWebPaginationModeLeftToRight, UIWebPaginationModeTopToBottom, UIWebPaginationModeBottomToTop, UIWebPaginationModeRightToLeft };
//3.这个枚举决定了webView加载页面具有CSS属性时是使用页的样式还是以列的样式。
typedef NS_ENUM(NSInteger, UIWebPaginationBreakingMode) { UIWebPaginationBreakingModePage, //默认设置是这个属性,CSS属性以页样式。 UIWebPaginationBreakingModeColumn //当UIWebPaginationBreakingMode设置这个属性的时候,这个页面内容CSS属性以column-break代替page-breaking样式。 };
@classUIWebViewInternal; @protocolUIWebViewDelegate; NS_CLASS_AVAILABLE_IOS(2_0) @interface UIWebView :UIView <NSCoding, UIScrollViewDelegate> { @private UIWebViewInternal *_internal; }
//4.实现WebView代理方法
@property (nonatomic, assign) id <UIWebViewDelegate> delegate;
//5.WebView的scrollView属性
@property (nonatomic, readonly, retain) UIScrollView *scrollView NS_AVAILABLE_IOS(5_0);
//6.UIWebView加载资源最常用的一种方式,直接给出URL进行加载
- (void)loadRequest:(NSURLRequest *)request;
//7.UIWebView加载资源第二种方式,将本地html文件内容嵌入到WebView
- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL;
//8.UIWebView加载资源第三种方式将本地数据转化为NSData嵌入到webView
- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName baseURL:(NSURL *)baseURL;
//9.URL请求
@property (nonatomic, readonly, retain) NSURLRequest *request;
//10.webView加载刷新
- (void)reload;
//11. webView停止加载
- (void)stopLoading;
//12.当webView跳转了一个网页时,执行goBack可以回退到之前的界面。
- (void)goBack;
//13..执行goForward前进一个之前跳过的界面
- (void)goForward;
//14.只读型bool值,用来判断当前页面是否可以回退
@property (nonatomic, readonly, getter=canGoBack) BOOL canGoBack;
//15.只读型bool值,用来判断当前页面是否可以前进
@property (nonatomic, readonly, getter=canGoForward) BOOL canGoForward;
//16.只读型bool值,用来判断当前页面是否可以加载刷新
@property (nonatomic, readonly, getter=isLoading) BOOL loading;
//17.这个方法需要等到webView加载完毕之后才会调用,通过它我们可以很方便的操作UIWebView中的页面元素。参数script用来传进当前页面文件元素字符串,对传进来的字符串进行相应的操作,例如[webview
stringByRvaluaingJavaScriptFromString:@“document.title”],可以得到页面的title
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;
//18.是否让内容伸缩至适应屏幕当前尺寸
@property (nonatomic) BOOL scalesPageToFit;
//19.这个属性如果设置为YES,当进入到页面视图可以自动检测电话号码,让用户可以单机号码进行拨打,不过现已弃用。
@property (nonatomic)BOOL detectsPhoneNumbers NS_DEPRECATED_IOS(2_0,3_0);
//20.这个属性可以设定使电话号码,网址,电子邮件和符合格式的日期等文字变为连接文字。
@property (nonatomic) UIDataDetectorTypes dataDetectorTypes NS_AVAILABLE_IOS(3_0);
//21.这个属性决定了页面用内嵌HTML5播放视频还是用本地的全屏控制。为了内嵌视频播放,不仅仅需要在这个页面上设置这个属性,还需要在HTML的viedeo元素必须包含webkit-playsinline属性。默认iPhone为NO,iPad为YES。
@property (nonatomic) BOOL allowsInlineMediaPlayback NS_AVAILABLE_IOS(4_0);// iPhone Safari defaults to NO. iPad Safari defaults to YES
//22.这个属性决定了HTML5视频可以自动播放还是需要用户启动播放。iPhone和iPad默认都是YES。
@property (nonatomic) BOOL mediaPlaybackRequiresUserAction NS_AVAILABLE_IOS(4_0); // iPhone and iPad Safari both default to YES
//23.这个属性决定了从这个页面是否可以Air Play。iPhone和iPad上都是默认YES。
@property (nonatomic) BOOL mediaPlaybackAllowsAirPlay NS_AVAILABLE_IOS(5_0); // iPhone and iPad Safari both default to YES
//24.这个值决定了网页内容的渲染是否在把内容全部假爱到内存中再去处理。如果设置为YES,只有网页内容加载到内存里了才会去渲染。默认为NO。
@property (nonatomic) BOOL suppressesIncrementalRendering NS_AVAILABLE_IOS(6_0); // iPhone and iPad Safari both default to NO
//25.这个属性如果设置为YES,用户必须明确的点击页面上的元素或者相关联的输入页面来显示键盘,。如果设置为NO,一个元素的焦点事件就会导致输入视图的显示和自动关联这个元素。
@property (nonatomic) BOOL keyboardDisplayRequiresUserAction NS_AVAILABLE_IOS(6_0); // default is YES
//26.iOS7之后的新API,设置页面分页模型选择。
@property (nonatomic) UIWebPaginationMode paginationMode NS_AVAILABLE_IOS(7_0);
//27.这个属性决定了CSS属性是采用column-break还是page-breaking样式。
@property (nonatomic) UIWebPaginationBreakingMode paginationBreakingMode NS_AVAILABLE_IOS(7_0);
//28.分页的长度
@property (nonatomic) CGFloat pageLength NS_AVAILABLE_IOS(7_0);
//29.多个页面之间差距值
@property (nonatomic) CGFloat gapBetweenPages NS_AVAILABLE_IOS(7_0);
//30.分页的个数。
@property (nonatomic, readonly) NSUInteger pageCount NS_AVAILABLE_IOS(7_0);
@end @protocol UIWebViewDelegate <NSObject> @optional
//31.UIWebView的代理方法,当webview开始加载请求的时候回去调用,可以拦截一些用户的行为是否加载。返回YES代表允许加载,返回NO代表停止加载。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
//32.webView加载开始的时候调用。
- (void)webViewDidStartLoad:(UIWebView *)webView;
//33.webView加载完毕的时候调用。
- (void)webViewDidFinishLoad:(UIWebView *)webView;
//34.webView加载失败的时候调用
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error; @end
相关文章推荐
- Android Path中绘制的折线如何变得很平滑
- ANDROID L——RecyclerView,CardView导入和使用(Demo)
- 【mybatis】mapper.xml文件自动扫描注入的方法
- Error: NDK integration is deprecated in the current plugin
- App html5 本地化(Web App转为 Hybird app或新建一个 Hybird app)phonegap篇 (1) iOS
- 原创开源项目HierarchyViewer for iOS 2.1 Beta新功能介绍
- HierarchyViewer for iOS 2.0 BETA Introduction
- Android深入浅出之Binder机制
- Android工具HierarchyViewer代码导读(4) -- 前台代码
- 原创开源项目 -- HierarchyViewer for iOS(2)
- 原创开源项目 -- HierarchyViewer for iOS(1)
- Android工具HierarchyViewer 代码导读(3) -- 后台代码
- Android工具HierarchyViewer 代码导读(2) -- 建立Eclipse调试环境
- Android工具HierarchyViewer 代码导读(1) -- 功能实现演示
- Android关于PagerAdapter的使用方法的总结
- ANDROID L——Material Design详解(主题和布局)
- WebView载入本地html(含css资源)显示不全解决办法
- IOS JSON解析
- wish8.6: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such
- 微信竟然还能当笔记用!【微信高级教程8】