2009-11-20 52 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