IOS UIWebView 網頁視圖 – iPhone手機開發技術文章 iPhone軟體開發教學課程

今天做項目遇到瞭瀏覽網頁這個功能,也就用到瞭 UIWebView 這個類
那麼我們就來看看這個類都有什麼東西
其實這個類還是比較簡單的

UIWebView 繼承於UIView
利用這個類可以簡單的實現網頁瀏覽

下面先看一下屬性
@property(nonatomic, assign) id delegate //類的代理

@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



發佈留言