我有一个 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/