我有一个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 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连接到委托和此属性。问题是无论我尝试什么网址(我在浏览器中都尝试过它们),网页视图只会返回一个白色屏幕。已经调用了所有委托方法,我知道因为我登录到控制台。有谁知道如何解决这个或我做错了什么。
答案 0 :(得分:1)
从您的代码 -
@property (nonatomic, retain) IBOutlet UIWebView *webView;
由于您将webview连接到插座,因此在取消归档Nib后会创建webview实例。
因此无需再次实例化webview -
self.webView = [[UIWebView alloc] init];
从代码中删除上面的行并进行测试。应该工作!
答案 1 :(得分:0)
嗯,这个问题的修复在我看来非常简单。
您没有为网络视图设置任何框架。请尝试以下方法:
self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0,0,500,500)];
当然,您的网络视图的实际尺寸可能会有所不同。你必须自己调整它。
<强>更新强>
我发现您没有将网络视图添加为子视图。调用loadRequest:
[self.view addSubview:self.webView];
希望这有帮助!