IOS UIWebView 網頁視圖

來源:互聯網
上載者:User

今天做項目遇到了瀏覽網頁這個功能,也就用到了 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








聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.