在UIWebView中显示网页

时间:2009-11-20 08:25:21

标签: objective-c uiwebview

我尝试在没有Nib的UIWebView中显示一个简单的网页。问题是,当我点击我的buttun时,会出现一个新的页面空白页面,但没有显示任何内容。 我错过了什么吗?


- (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];
}

谢谢,

3 个答案:

答案 0 :(得分:6)

如果这是你正在使用的确切代码,那么它就无法工作:webView添加到topView,它永远不会放在任何地方的屏幕上。

您可能希望将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];
}

答案 1 :(得分:6)

使用故事板 -

步骤1:在视图中拖放UIWebView

步骤2:然后转到.h文件(针对该特定视图)并创建UIWebView的IBOutlet。例如 -

// MainViewController.h

@interface MainViewController : UIViewController

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

@end

步骤3:转到故事板,通过执行控制拖动,从outlet,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

答案 2 :(得分:2)

这是我的解决方案。 在Interface Builder中使用WebView创建一个ViewController,并将webview连接为IBOutlet 这段代码很简单,工作正常

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