UIWebView全部API學(xué)習(xí)

最生僻的API做了下劃線以及粗體的標(biāo)注。百度上查了全是拷貝的同一份代碼,而且只有代碼沒有解釋,很是鄙視。


//1. UIWebViewNavigationType枚舉定義了頁面中用戶行為的分類
typedef NS_ENUM(NSInteger, UIWebViewNavigationType) {
    UIWebViewNavigationTypeLinkClicked,//用戶觸發(fā)了一個鏈接
    UIWebViewNavigationTypeFormSubmitted,//用戶提交了一個表單
    UIWebViewNavigationTypeBackForward,//用戶觸擊前進前進或返回按鈕
    UIWebViewNavigationTypeReload,//用戶觸擊重新加載的按鈕
    UIWebViewNavigationTypeFormResubmitted,//用戶重復(fù)提交表單
    UIWebViewNavigationTypeOther//發(fā)生了其他行為
};
//2. 加載內(nèi)容關(guān)于分頁顯示幾種不同類型
typedef NS_ENUM(NSInteger, UIWebPaginationMode) {
    UIWebPaginationModeUnpaginated,
    UIWebPaginationModeLeftToRight,
    UIWebPaginationModeTopToBottom,
    UIWebPaginationModeBottomToTop,
    UIWebPaginationModeRightToLeft
};
**//3.這個枚舉決定了webView加載頁面具有CSS屬性時是使用頁的樣式還是以列的樣式。**
**typedef NS_ENUM(NSInteger, UIWebPaginationBreakingMode) {**
**    UIWebPaginationBreakingModePage,//默認(rèn)設(shè)置是這個屬性,CSS屬性以頁樣式。**
**    UIWebPaginationBreakingModeColumn//當(dāng)UIWebPaginationBreakingMode設(shè)置這個屬性的時候,這個頁面內(nèi)容CSS屬性以column-break 代替page-breaking樣式。**
**};**

@class UIWebViewInternal;
@protocol UIWebViewDelegate;

NS_CLASS_AVAILABLE_IOS(2_0) @interface UIWebView : UIView<NSCoding, UIScrollViewDelegate> { 
 @private
    UIWebViewInternal *_internal;
}
//4.實現(xiàn)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文件內(nèi)容嵌入到WebView
- (void)loadHTMLString:(NSString *)string baseURL:(NSURL*)baseURL;
// 8. UIWebView加載資源第三種方式 將本地數(shù)據(jù)轉(zhuǎn)化為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.當(dāng)webView跳轉(zhuǎn)了一個網(wǎng)頁時,執(zhí)行g(shù)oBack可以回退到之前的界面。
- (void)goBack;
//13..執(zhí)行g(shù)oForward前進一個之前跳過的界面
- (void)goForward;
//14.只讀型bool值,用來判斷當(dāng)前頁面是否可以回退
@property (nonatomic, readonly, getter=canGoBack) BOOLcanGoBack;
//15.只讀型bool值,用來判斷當(dāng)前頁面是否可以前進
@property (nonatomic, readonly, getter=canGoForward) BOOLcanGoForward;
//16.只讀型bool值,用來判斷當(dāng)前頁面是否可以加載刷新
@property (nonatomic, readonly, getter=isLoading) BOOLloading;
//17.這個方法需要等到webView加載完畢之后才會調(diào)用,通過它我們可以很方便的操作UIWebView中的頁面元素。參數(shù)script用來傳進當(dāng)前頁面文件元素字符串,對傳進來的字符串進行相應(yīng)的操作,例如[webview stringByRvaluaingJavaScriptFromString:@“document.title”],可以得到頁面的title
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;
//18.是否讓內(nèi)容伸縮至適應(yīng)屏幕當(dāng)前尺寸
@property (nonatomic) BOOL scalesPageToFit;
//19.這個屬性如果設(shè)置為YES,當(dāng)進入到頁面視圖可以自動檢測電話號碼,讓用戶可以單機號碼進行撥打,不過現(xiàn)已棄用。
@property (nonatomic) BOOL detectsPhoneNumbersNS_DEPRECATED_IOS(2_0, 3_0);
//20.這個屬性可以設(shè)定使電話號碼,網(wǎng)址,電子郵件和符合格式的日期等文字變?yōu)檫B接文字。
@property (nonatomic) UIDataDetectorTypes dataDetectorTypes NS_AVAILABLE_IOS(3_0);
//21.這個屬性決定了頁面用內(nèi)嵌HTML5播放視頻還是用本地的全屏控制。為了內(nèi)嵌視頻播放,不僅僅需要在這個頁面上設(shè)置這個屬性,還需要在HTML的viedeo元素必須包含webkit-playsinline屬性。默認(rèn)iPhone為NO,iPad為YES。
@property (nonatomic) BOOL allowsInlineMediaPlaybackNS_AVAILABLE_IOS(4_0); // iPhone Safari defaults to NO. iPad Safari defaults to YES
//22.這個屬性決定了HTML5視頻可以自動播放還是需要用戶啟動播放。iPhone和iPad默認(rèn)都是YES。
@property (nonatomic) BOOL mediaPlaybackRequiresUserActionNS_AVAILABLE_IOS(4_0); // iPhone and iPad Safari both default to YES
//23.這個屬性決定了從這個頁面是否可以Air Play。iPhone和iPad上都是默認(rèn)YES。
@property (nonatomic) BOOL mediaPlaybackAllowsAirPlayNS_AVAILABLE_IOS(5_0); // iPhone and iPad Safari both default to YES
//24.這個值決定了網(wǎng)頁內(nèi)容的渲染是否在把內(nèi)容全部假愛到內(nèi)存中再去處理。如果設(shè)置為YES,只有網(wǎng)頁內(nèi)容加載到內(nèi)存里了才會去渲染。默認(rèn)為NO。
@property (nonatomic) BOOL suppressesIncrementalRenderingNS_AVAILABLE_IOS(6_0); // iPhone and iPad Safari both default to NO
//25.這個屬性如果設(shè)置為YES,用戶必須明確的點擊頁面上的元素或者相關(guān)聯(lián)的輸入頁面來顯示鍵盤,。如果設(shè)置為NO,一個元素的焦點事件就會導(dǎo)致輸入視圖的顯示和自動關(guān)聯(lián)這個元素。
@property (nonatomic) BOOL keyboardDisplayRequiresUserAction NS_AVAILABLE_IOS(6_0); // default is YES
//26.iOS7之后的新API,設(shè)置頁面分頁模型選擇。
@property (nonatomic) UIWebPaginationMode paginationModeNS_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 gapBetweenPagesNS_AVAILABLE_IOS(7_0);
//30.分頁的個數(shù)。
@property (nonatomic, readonly) NSUInteger pageCountNS_AVAILABLE_IOS(7_0);

@end

@protocol UIWebViewDelegate <NSObject>

@optional
//31.UIWebView的代理方法,當(dāng)webview開始加載請求的時候回去調(diào)用,可以攔截一些用戶的行為是否加載。返回YES代表允許加載,返回NO代表停止加載。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
//32.webView加載開始的時候調(diào)用。
- (void)webViewDidStartLoad:(UIWebView *)webView;
//33.webView加載完畢的時候調(diào)用。
- (void)webViewDidFinishLoad:(UIWebView *)webView;
//34.webView加載失敗的時候調(diào)用
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;

@end


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,646評論 6 533
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,595評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 176,560評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,035評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,814評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,224評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,301評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,444評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,988評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,804評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,998評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,544評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,237評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,665評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,927評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,706評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,993評論 2 374

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,665評論 25 708
  • 之前一直仗著自己是女生,覺得可以不負(fù)責(zé),覺得不會怎樣,哎,其實在感情面前,沒有男女之分,都是平等的。 想想你的處境...
    Whitestupid閱讀 390評論 0 1
  • 原創(chuàng)/荷中韻 若是說,畢業(yè)之后沒有一絲傷感,那便是假的。時光不盡人情的溜走,不知不覺,我們歡樂的小學(xué)時光也...
    荷中韻閱讀 194評論 0 1
  • 「鬼谷子」共一十四篇,其中最后兩篇已經(jīng)失傳。目錄內(nèi)容為:捭闔;反應(yīng);內(nèi)楗;抵戲;飛箝;忤合;揣篇;摩篇;權(quán)篇;謀篇...
    商未央閱讀 8,496評論 0 0
  • (一)開學(xué)季 “媽!我的書包呢?!” 李木子,一名初一生。以優(yōu)異的成績考入了市內(nèi)重點中學(xué)。她直起腰,捶...
    一個孤獨的初一生閱讀 138評論 0 1