今天做項目遇到了浏覽網頁這個功能,也就用到了 UIWebView 這個類
那麼我們就來看看這個類都有什麼東西
其實這個類還是比較簡單的
UIWebView 繼承於UIView
利用這個類可以簡單的實現網頁浏覽
下面先看一下屬性
@property(nonatomic, assign) id
@property(nonatomic, readonly, retain) NSURLRequest *request
//當前顯示頁面的URL請求
@property(nonatomic, readonly, getter=isLoading) BOOL loading
//當前網頁是否是正在加載狀態
@property(nonatomic, readonly, getter=canGoBack) BOOL canGoBack
//從當前網頁是否能返回上一網頁
@property(nonatomic, readonly, getter=canGoForward) BOOL canGoForward
//從當前網頁能否前進
@property(nonatomic) BOOL scalesPageToFit
//網頁內容是否自適應大小
@property(nonatomic, readonly, retain) UIScrollView *scrollView
//與當前web視圖 相關聯的滾動視圖
@property(nonatomic) BOOL suppressesIncrementalRendering
//是否網頁內容下載完畢才開始渲染web視圖,默認為NO
@property (nonatomic) BOOL keyboardDisplayRequiresUserAction
//是否在web頁面響應用戶輸入彈出鍵盤,默認為YES
@property(nonatomic) UIDataDetectorTypes dataDetectorTypes
//把網頁上的內容轉換為可點擊的鏈接
enum {
UIDataDetectorTypePhoneNumber = 1 << 0,
UIDataDetectorTypeLink = 1 << 1,
UIDataDetectorTypeAddress = 1 << 2,
UIDataDetectorTypeCalendarEvent = 1 << 3,
UIDataDetectorTypeNone = 0,
UIDataDetectorTypeAll = NSUIntegerMax
};
@property(nonatomic) BOOL allowsInlineMediaPlayback
//這個值決定了用內嵌HTML5播放視頻還是用本地的全屏控制。
為了內嵌視頻播放,不僅僅需要在這個頁面上設置這個屬性,
還必須的是在HTML中的video元素必須包含webkit-playsinline屬性。默認使NO。
@property(nonatomic) BOOL mediaPlaybackRequiresUserAction
//在iPhone和iPad上默認使YES。這個值決定了HTML5視頻可以自動播放還是需要用戶去啟動播放
@property(nonatomic) BOOL mediaPlaybackAllowsAirPlay
//這個值決定了從這個頁面是否可以Air Play。 在iPhone和iPad上默認使YES。
下面來看一下方法
加載數據
- (void)loadRequest:(NSURLRequest *)request
//加載URL數據請求
- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL
//設置主頁,主頁內容為baseURL鏈接內容
- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL
//設置主頁內容,MIME類型,編碼的內容和基本的URL。
//data數據為主頁內容
- (void)stopLoading //停止加載數據
- (void)reload //加載當前頁數據
網頁切換
- (void)goBack //後退一頁
- (void)goForward //前進一頁
運行Java腳本
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script
//返回運行腳本語言的結果。
JavaScript的執行時間被限定在10秒鐘,如果執行時間超過10秒,那麼頁面就停止執行這個腳本。
JavaScript的執行或許能夠阻塞主線程,所以當腳本執行的時候不允許用戶影響頁面的加載。
JavaScript的內存分配被限制在10M,如果超出這個限制那麼頁面會發生異常。
好了,到此為止就是UIWebView 類的所有屬性的方法了,東西不多也都比較好理解。
有一點是最後一個方法不是很明白,還要下去繼續研究一下,如果你知道,那麻煩你告訴我一下。
今天就到這裡 ―― LC