UIWebView

UIWebview屬性:

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

// 這個是webView內(nèi)部的scrollView 只讀,但是利用這個屬性,設(shè)置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,才能前進(jìn)
@property (nonatomic, readonly, getter=canGoForward) BOOL canGoForward;

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

// YES代表網(wǎng)頁可以縮放,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);

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

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

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

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

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

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

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

// 設(shè)置每一頁的長度
@property (nonatomic) CGFloat pageLength NS_AVAILABLE_IOS(7_0);

// 設(shè)置每一頁的間距
@property (nonatomic) CGFloat gapBetweenPages NS_AVAILABLE_IOS(7_0);

// 獲取頁數(shù)
@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的協(xié)議:

// 請求發(fā)送前都會調(diào)用該方法,返回NO則不處理這個請求
//此方法中,通過Html的iframe來制造頁面刷新再解析自定義協(xié)議
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;

//請求發(fā)送之后開始接收響應(yīng)之前會調(diào)用這個方法
- (void)webViewDidStartLoad:(UIWebView *)webView;

//請求發(fā)送之后,并且服務(wù)器已經(jīng)返回響應(yīng)之后調(diào)用該方法
- (void)webViewDidFinishLoad:(UIWebView *)webView;

//網(wǎng)頁請求失敗則會調(diào)用該方法
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;

UIWebView的方法:

// 加載Data數(shù)據(jù)
- (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 

// 刷新網(wǎng)頁 
- (void)reload; 

// 停止網(wǎng)頁加載內(nèi)容 
- (void)stopLoading; 

// 后退 
- (void)goBack; 

// 前進(jìn) 
- (void)goForward; 

// 執(zhí)行JS方法 
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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

友情鏈接更多精彩內(nèi)容