ios - 尽管设置了委托(delegate)并且正在调用方法,WebView 仅显示白色

标签 ios uiwebview

我有一个 viewcontroller,它在确实加载的 View 中加载了一个 webView

@synthesize webView = _webView;

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    self.webView = [[UIWebView alloc] init];
    [self.webView setDelegate:self];
    NSString *string = @"http://www.google.com";
    NSURL *url = [NSURL URLWithString:string];
    NSLog(@"The URL is %@", url);
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    NSLog(@"The request is %@", request);
    NSLog(@"webview delegate is %@", self.webView.delegate);
    NSLog(@"webview is %@", self.webView);
    [self.webView loadRequest:request];
}

当我调试时一切正常,这意味着没有任何东西返回 nil。我在 .h 文件中这样声明属性

@property (nonatomic, retain) IBOutlet UIWebView *webView;

我也试过

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

并且 IB 中的 WebView 连接到委托(delegate)和此属性。问题是无论我尝试什么 url(我都在浏览器中尝试过),web View 只返回一个白屏。我知道所有委托(delegate)方法都已被调用,因为我已登录到控制台。有谁知道如何解决这个问题或我做错了什么。

最佳答案

来自您的代码 -

@property (nonatomic, retain) IBOutlet UIWebView *webView;

由于您将 webview 连接到 socket ,因此 webview 的实例是在您的 Nib 解压后创建的。

所以不需要再次实例化webview -

self.webView = [[UIWebView alloc] init];

从您的代码中删除上述行并进行测试。应该可以!

关于ios - 尽管设置了委托(delegate)并且正在调用方法,WebView 仅显示白色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19943302/

相关文章:

ios - XCTest 无法找到文本字段

ios - 如何更改 WKWebView 或 UIWebView 默认字体

ios - 切换到 XCode6 后使用空枚举

ios - Appstore发布应用的神奇记录,核心数据迁移

ios - 编辑 Storyboard时 Xcode 7.x 崩溃

ios - PDF 对于 UIWebView 来说太大了,获取文件大小? (不是尺寸)

ios - Xcode7 - 模拟器中的 WebView 应用程序黑屏

html - iOS - HTML 源与在桌面版 Chrome 中检查元素时不同

ios - 如何在 iOS 中使用 UIWebView 修改从 url 加载的内容?

ios - 如何对 tableview 行执行操作以及如何在其中添加添加披露指示符?