簡體   English   中英

iOS中的UIWebView

[英]UIWebView in iOS

我正在創建一個應用程序,需要將一半的​​頁面作為webview,另一半需要填充其他內容。 問題是,當我在UI構建器中布局視圖時,它是正確的寬度和高度,但是當我實際加載它時,它會填滿整個屏幕。

這是代碼:

- (void)loadView  
{  
    // Create a custom view hierarchy.  
    CGRect appFrame = [[UIScreen mainScreen] applicationFrame];  
    UIView *view = [[UIView alloc] initWithFrame:appFrame];  
    self.view = view;  
    [view release];  

    CGRect webFrame = [[UIScreen mainScreen] applicationFrame];  
    webView = [[UIWebView alloc] initWithFrame:webFrame];  
    webView.backgroundColor = [UIColor whiteColor];  
    [self.view addSubview:webView]; 

    NSString *html = @"<html><head><title>Should be half</title></head><body>I wish the answer were just 42</body></html>";  
    [webView loadHTMLString:html baseURL:nil];  
}  

您不需要大部分代碼。 一般來說,您可以在loadView編程方式創建視圖層次結構,也可以使用Interface Builder以圖形方式創建視圖層次結構。 你已經完成了兩件事 - 你已經在Interface Builder中創建了你的視圖,然后將它全部拋棄並以編程方式再次完成。

完全刪除你的loadView方法。 這就是擦除Interface Builder工作的原因。 默認的loadView實現將反序列化您的nib並從中創建視圖層次結構。

確保您的webView IBOutlet已在Interface Builder中連接。 這是您的代碼可以引用筆尖中的內容的方式。 當nib被反序列化時,它將存儲你在這個ivar中的Interface Builder中布局的UIWebView實例。

創建一個用於設置Web視圖的viewDidLoad方法。 加載nib文件並構建視圖層次結構后,將調用此方法,因此所有視圖都有效,您可以執行將HTML加載到Web視圖中的操作。 你會想要這樣的東西:

- (void)viewDidLoad
{  
    NSString *html = @"<html><head><title>Should be half</title></head><body>I wish the answer were just 42</body></html>";  
    [webView loadHTMLString:html baseURL:nil];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM