今天做項目遇到了瀏覽網頁這個功能,也就用到了 UIWebView 這個類
那麼我們就來看看這個類都有什麼東西
其實這個類還是比較簡單的
UIWebView 繼承於UIView
利用這個類可以簡單的實現網頁瀏覽
下面先看一下屬性
@property(nonatomic, assign) id delegate //類的代理
@property(nonatomic, readonly, retain) NSURLRequest *request
//當前顯示頁面的URL請求
@property(nonatomic, readonly, getter=isLoading) BOOLloading
//當前網頁是否是正在載入狀態
@property(nonatomic, readonly, getter=canGoBack) BOOLcanGoBack
//從當前網頁是否能返回上一網頁
@property(nonatomic, readonly, getter=canGoForward) BOOLcanGoForward
//從當前網頁能否前進
@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