2009-11-20 86 views
4

我嘗試在沒有Nib的情況下在我的UIWebView中顯示一個簡單的網頁。問題是當我點擊我的按鈕時,新頁面出現空白頁面,但沒有顯示。 我錯過了什麼嗎?在UIWebView中顯示一個網頁

 

- (void)loadView { 

    UIView *topView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; 

    UIWebView *web = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; 
    self.webView = web; 

    NSString *urlAddress = @"http://www.google.com"; 
    NSURL *url = [[[NSURL alloc] initWithString:urlAddress] autorelease]; 
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 


    [webView loadRequest:requestObj]; 

    [topView addSubview:self.webView]; 
    [web release]; 
} 

謝謝你,

回答

6

如果這是你使用的話,就無法正常工作的確切代碼:web視圖加入冠捷是從來沒有把在屏幕上的任何地方。

您可能想要將webView添加到控制器視圖,但更好的做法可能是viewDidLoad,其中self.view可以安全地使用。

此代碼的工作對我來說:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    self.webView = [[[UIWebView alloc] 
     initWithFrame:CGRectMake(0, 0, 320, 480)] autorelease]; 

    NSString *urlAddress = @"http://www.google.com"; 
    NSURL *url = [[[NSURL alloc] initWithString:urlAddress] autorelease]; 
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 

    [self.webView loadRequest:requestObj]; 

    [self.view addSubview:self.webView]; 
} 
+0

它仍然沒有工作,我會做一個新的答案,並告訴你如何構建應用程序。 – ludo

2

這裏是我的解決方案。 在Interface Builder創建的WebView一個視圖控制器和連接的WebView爲IBOutlet中 這段代碼很簡單,工作正常

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:@"http://www.google.com.ua"]; 
    [webView loadRequest:request]; 
} 
+1

應該是:NSURLRequest * request = [NSURLRequest requestWithURL:[NSURL URLWithString:@「http://www.google.com」]];但否則這是更少的代碼。謝謝 –

6

用故事板 -

步驟1:將其拖放到瀏覽下降一個UIWebView

步驟2:然後轉到.h文件(針對該特定視圖)並創建一個UIWebView的IBOutlet。對於實施例 -

// MainViewController.h 

@interface MainViewController : UIViewController 

     @property (nonatomic, strong) IBOutlet UIWebView *myWebView; 

@end 

步驟3:進入到故事板並創建從出口,myWebView(這可以在Xcode的檢查員區域中找到)到UIWebView中通過執行一控制拖動的連接。

第4步:現在,當我們之間的關係,我們只是需要去的.m(對於該特定視圖),並添加如下代碼 -

//MainViewController.m 

@implementation MainViewController 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSString *urlNameInString = @"https://www.google.com"; 
    NSURL *url = [NSURL URLWithString:urlNameInString]; 
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url]; 

    [self.myWebView loadRequest:urlRequest]; 
} 

@end