iOS:网页视图控件UIWebView的详解

网页视图控件:UIWebView

功能:它是继承于UIView的,以网页的形式用来显示从网络或者本地上加载下来的数据。

枚举:

//网页视图导航类型

typedef NS_ENUM(NSInteger, UIWebViewNavigationType) {

UIWebViewNavigationTypeLinkClicked,             //用户点击了一个链接

UIWebViewNavigationTypeFormSubmitted,        //用户提交了一个表单

UIWebViewNavigationTypeBackForward,          //用户触击前进或返回按钮

UIWebViewNavigationTypeReload,                  //用户触击重新加载按钮

UIWebViewNavigationTypeFormResubmitted,    //用户重复提交表单

UIWebViewNavigationTypeOther                    //发生其他行为类型

};

//网页超过view大小时,超出部分翻页布局模式

typedef NS_ENUM(NSInteger, UIWebPaginationMode) {

UIWebPaginationModeUnpaginated,     //不使用翻页

UIWebPaginationModeLeftToRight,      //从左到右

UIWebPaginationModeTopToBottom,    //从顶部到底部

UIWebPaginationModeBottomToTop,   //从底部到顶部

UIWebPaginationModeRightToLeft      //从右到左

};

//枚举webView加载页面具有CSS属性时是使用页的样式还是以列的样式

typedef NS_ENUM(NSInteger, UIWebPaginationBreakingMode) {

UIWebPaginationBreakingModePage,   //页模式

UIWebPaginationBreakingModeColumn //列模式

};

@interface UIWebView : UIView <NSCoding, UIScrollViewDelegate>

属性:

//代理

@property (nonatomic, assign) id <UIWebViewDelegate> delegate;

//内置滚动视图

@property (nonatomic, readonly, retain) UIScrollView *scrollView;

//是否可以返回上一级

@property (nonatomic, readonly, getter=canGoBack) BOOL canGoBack;

//是否可以跳转到下一级

@property (nonatomic, readonly, getter=canGoForward) BOOL canGoForward;

//是否加载

@property (nonatomic, readonly, getter=isLoading) BOOL loading;

//是否缩放页面到合适大小

@property (nonatomic) BOOL scalesPageToFit;

//是否发现电话号码

@property nonatomic) BOOL detectsPhoneNumbers;

//数据链接类型,如邮箱、电话、地址等

@property (nonatomic) UIDataDetectorTypes dataDetectorTypes ;

//是否允许内置媒体播放

@property (nonatomic) BOOL allowsInlineMediaPlayback;

//媒体视频是否自动播放

@property (nonatomic) BOOL mediaPlaybackRequiresUserAction ;

//媒体音频是否支持airplay

@property (nonatomic) BOOL mediaPlaybackAllowsAirPlay ;

//是否将数据加载如内存后渲染界面

@property (nonatomic) BOOL suppressesIncrementalRendering ;

//是否设置用户交互

@property (nonatomic) BOOL keyboardDisplayRequiresUserAction;

//超出视图的网页翻页模式

@property (nonatomic) UIWebPaginationMode paginationMode ;

//翻页断开模式

@property (nonatomic) UIWebPaginationBreakingMode paginationBreakingMode ;

//网页长度

@property (nonatomic) CGFloat pageLength ;

//网页分页之间的间隔

@property (nonatomic) CGFloat gapBetweenPages ;

//网页分页数量

@property (nonatomic, readonly) NSUInteger pageCount ;

方法:

//通过远程URL加载网页(加载网页数据:第一种方式)

- (void)loadRequest:(NSURLRequest *)request;

//根据设置的URL路径,加载html文件中引用的图片等素材,html转为字符串(加载网页数据:第二种方式)

- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL;

//data为文件数据, MIMEType为文件类型 ,textEncodingName为编码类型,baseUrl为素材路径(加载网页数据:第三种方式)

- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName baseURL:(NSURL *)baseURL;

//重新加载

- (void)reload;

//停止加载

- (void)stopLoading;

//返回上一级

- (void)goBack;

//跳转下一级

- (void)goForward;

//通过javascript操作网页数据

- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;

协议:

@protocol UIWebViewDelegate <NSObject>

@optional

//准备加载内容时调用的方法,通过返回值来进行是否加载的设置

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

//开始加载时调用的方法

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

//完成加载时调用的方法

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

//加载失败时调用的方法

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

@end

时间: 2024-12-31 15:37:56

iOS:网页视图控件UIWebView的详解的相关文章

iOS UI基础控件之UIView 详解

UIView 简介 什么是UIView UIView是窗口上的一块区域,是iOS中所有控件的基类,我们在app中所有能看见的都是直接或间接继承与UIView的.我们把UIView叫做视图. UIView的作用 负责内部区域的内容渲染. 负责内部区域的触摸事件. 管理本身的所有子视图. 处理基本的动画. UIView创建与使用 创建UIView //通过frame创建View UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100,

一步一步学ios UITextView(多行文本框)控件的用法详解(五5.8)

本文转载至 http://wuchaorang.2008.blog.163.com/blog/static/48891852201232014813990/ 1.创建并初始化 创建UITextView的文件,并在.h文件中写入如下代码: [csharp] view plaincopy #import <UIKit/UIKit.h> @interface TextViewController : UIViewController <UITextViewDelegate> { UITe

VB ListView控件各种操作详解

VB ListView控件各种操作详解 [vb] view plaincopy Private Sub Form_Load() 'ListView1.SmallIcons = ImageList1.Object '把ImageList1图标列表控件绑定到 ListView1列表控件中来. ListView1.ListItems.Clear               '清空列表 ListView1.ColumnHeaders.Clear           '清空列表头 ListView1.Vi

UITextView控件的用法详解

1.创建并初始化创建UITextView的文件,并在.h文件中写入如下代码: #import <UIKit/UIKit.h> @interface TextViewController : UIViewController <UITextViewDelegate>{ UITextView *textView; } @property (nonatomic, retain) UITextView *textView; @end 在.m文件中初始化这个textview,写入代码如下:

iOS:提示框(警告框)控件UIActionSheet的详解

提示框(警告框)控件2:UIActionSheet 功能:当点击按钮或标签等时,弹出一个提示框,显示必要的提示,然后通过添加的按钮完成需要的功能.它与导航栏类似,它继承自UIView. 风格类型: typedef NS_ENUM(NSInteger, UIActionSheetStyle) { UIActionSheetStyleAutomatic        = -1,       //iOS系统自动默认的风格 UIActionSheetStyleDefault          = UIB

iOS选择器视图控件(UIPickerView)使用方法总结

iOS中UIPickerView使用总结 UIPickerView是iOS中的原生选择器控件,使用方便,用法简单,效果漂亮. @property(nonatomic,assign) id<UIPickerViewDataSource> dataSource; @property(nonatomic,assign) id<UIPickerViewDelegate>   delegate; 设置数据源和代理 @property(nonatomic) BOOL showsSelectio

iOS:图像选取器控制器控件UIImagePickerController的详解

图像选择控制器:UIImagePickerController 功能:用于选取相册或相机等里面的照片. @interface UIImagePickerController : UINavigationController 枚举: //图片资源来源类型 typedef NS_ENUM(NSInteger, UIImagePickerControllerSourceType) { UIImagePickerControllerSourceTypePhotoLibrary,          //图

iOS:提示框(警告框)控件UIAlertView的详解

提示框(警告框)控件:UIAlertView 功能:当点击按钮或标签等时,弹出一个提示框,显示必要的提示,然后通过添加的按钮完成需要的功能. 类型:typedef NS_ENUM(NSInteger, UIAlertViewStyle) { UIAlertViewStyleDefault = 0,                 //默认类型 UIAlertViewStyleSecureTextInput,          //安全密码的文本框输入类型 UIAlertViewStylePlai

iOS:下拉刷新控件UIRefreshControl的详解

下拉刷新控件:UIRefreshControl 1.具体类信息: @interface UIRefreshControl : UIControl //继承控制类 - (instancetype)init; @property (nonatomic, readonly, getter=isRefreshing) BOOL refreshing; //是否可以刷新 @property (nonatomic, retain) UIColor *tintColor; //控件颜色 @property (