首页 文章

在UIWebView中显示网页

提问于
浏览
4

我尝试在没有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 回答

  • 2

    如果这是你正在使用的确切代码,那么它就无法工作: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];
    }
    
  • 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步:现在当我们 Build 连接时,我们只需要转到.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
    
  • 6

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

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

相关问题