Ios WebView仅显示白色,尽管已设置委托并且正在调用方法
我有一个viewcontroller,它在加载的视图中加载webViewIos WebView仅显示白色,尽管已设置委托并且正在调用方法,ios,uiwebview,Ios,Uiwebview,我有一个viewcontroller,它在加载的视图中加载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 se
@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];
}
调试时一切正常,这意味着没有返回零。我在.h文件中声明了如下属性
@property (nonatomic, retain) IBOutlet UIWebView *webView;
我也试过了
@property (nonatomic, strong) IBOutlet UIWebView *webView;
IB中的WebView连接到委托和此属性。问题是,无论我尝试什么url(我在浏览器中尝试了所有url),web视图都只返回一个白色屏幕。我知道所有的委托方法都被调用了,因为我登录到了控制台。有没有人知道如何解决这个问题,或者我做错了什么。嗯,对我来说,解决这个问题似乎很简单 您没有为web视图设置任何框架。请尝试以下操作:
self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0,0,500,500)];
当然,web视图的实际尺寸可能会有所不同。你得自己调整一下
更新
我发现您没有将web视图添加为子视图。在调用loadRequest后添加以下行:
[self.view addSubview:self.webView];
希望这有帮助 从您的代码-
@property (nonatomic, retain) IBOutlet UIWebView *webView;
由于您已将webview连接到插座,因此webview实例将在取消Nib归档后创建
因此无需再次实例化webview-
self.webView = [[UIWebView alloc] init];
从代码中删除上述行并对其进行测试。应该有用 您没有将webView添加到根视图。我尝试过,但结果相同。下面是日志上写的。URL是请求是{URL:}webview委托是webview应该开始加载URL加载教程URL。。。。。由于某种原因,应该开始加载URL加载完毕教程URL,应该StartLoadWithRequest被调用两次。。。。