UIWebView

UIWebview屬性:

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

// 這個是webView內部的scrollView 只讀,但是利用這個屬性,設置scrollView的代理,就可以控制整個webView的滾動事件
@property (nonatomic, readonly, strong) UIScrollView *scrollView NS_AVAILABLE_IOS(5_0);

// webView的請求,這個屬性一般在整個加載完成后才能拿到
@property (nullable, nonatomic, readonly, strong) NSURLRequest *request;

// 如果這個屬性為YES,才能后退
@property (nonatomic, readonly, getter=canGoBack) BOOL canGoBack;

// 如果這個屬性為YES,才能前進
@property (nonatomic, readonly, getter=canGoForward) BOOL canGoForward;

// 這個屬性很好用,如果為YES證明webView還在加載數據,所有數據加載完畢后,webView就會為No
@property (nonatomic, readonly, getter=isLoading) BOOL loading;

// YES代表網頁可以縮放,NO代表不可以縮放
@property (nonatomic) BOOL scalesPageToFit;

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

// 設置是否使用內聯播放器播放視頻
@property (nonatomic) BOOL allowsInlineMediaPlayback NS_AVAILABLE_IOS(4_0); 

// iPhone Safari defaults to NO. iPad Safari defaults to YES
// 設置視頻是否自動播放
@property (nonatomic) BOOL mediaPlaybackRequiresUserAction NS_AVAILABLE_IOS(4_0); // iPhone and iPad Safari both default to YES

// 設置音頻播放是否支持ari play功能
@property (nonatomic) BOOL mediaPlaybackAllowsAirPlay 
NS_AVAILABLE_IOS(5_0); // iPhone and iPad Safari both default to YES

// 設置是否將數據加載入內存后渲染界面
@property (nonatomic) BOOL suppressesIncrementalRendering NS_AVAILABLE_IOS(6_0); // iPhone and iPad Safari both default to NO

// 設置用戶是否能打開keyboard交互
@property (nonatomic) BOOL keyboardDisplayRequiresUserAction NS_AVAILABLE_IOS(6_0); // default is YES

// 這個屬性用來設置一種模式,當網頁的大小超出view時,將網頁以翻頁的效果展示
@property (nonatomic) UIWebPaginationMode paginationMode NS_AVAILABLE_IOS(7_0);
typedef NS_ENUM(NSInteger, UIWebPaginationMode) { UIWebPaginationModeUnpaginated, //不使用翻頁效果 UIWebPaginationModeLeftToRight, //將網頁超出部分分頁,從左向右進行翻頁 UIWebPaginationModeTopToBottom, //將網頁超出部分分頁,從上向下進行翻頁 UIWebPaginationModeBottomToTop, //將網頁超出部分分頁,從下向上進行翻頁 UIWebPaginationModeRightToLeft //將網頁超出部分分頁,從右向左進行翻頁 };

// 這個屬性決定CSS的屬性分頁是可用還是忽略。默認是UIWebPaginationBreakingModePage 
@property (nonatomic) UIWebPaginationBreakingMode paginationBreakingMode NS_AVAILABLE_IOS(7_0);

// 設置每一頁的長度
@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);

@property (nonatomic) BOOL allowsLinkPreview NS_AVAILABLE_IOS(9_0); // default is NO

@end

UIWebView的協議:

// 請求發送前都會調用該方法,返回NO則不處理這個請求
//此方法中,通過Html的iframe來制造頁面刷新再解析自定義協議
- (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;

UIWebView的方法:

// 加載Data數據
- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL 

// 加載本地HTML
- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL 

// 加載一個請求
- (void)loadRequest:(NSURLRequest *)request 

// 刷新網頁 
- (void)reload; 

// 停止網頁加載內容 
- (void)stopLoading; 

// 后退 
- (void)goBack; 

// 前進 
- (void)goForward; 

// 執行JS方法 
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • IOS之UIWebView的使用 剛接觸IOS開發1年多,現在對于 混合式 移動端開發越來越流行,因為開發成本上、...
    學無止境666閱讀 45,914評論 5 53
  • OS之UIWebView的使用 剛接觸IOS開發1年多,現在對于 混合式 移動端開發越來越流行,因為開發成本上、速...
    知之未道閱讀 1,670評論 0 4
  • 前言 關于UIWebView的介紹,相信看過上文的小伙伴們,已經大概清楚了吧,如果有問題,歡迎提問。 本文是本系列...
    Dark_Angel閱讀 29,057評論 67 291
  • 一、簡介 近兩年隨著HTML5的迅速發展與日趨成熟,越來越多的移動開發者選擇使用HTML5來進行混合開發,不僅節約...
    RainyGY閱讀 1,909評論 1 12
  • 墻里秋千墻外道。墻外你我,墻里時光笑。笑漸不聞聲漸悄。多情卻被無情惱。——題記 不同的人有不同的時光,有的倏忽間在...
    琰琳閱讀 257評論 0 1