我尝试在没有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]; }
谢谢,
答案 0 :(得分:6)
如果这是你正在使用的确切代码,那么它就无法工作: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];
}
答案 1 :(得分: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:现在当我们建立连接时,我们只需要转到.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
答案 2 :(得分:2)
这是我的解决方案。 在Interface Builder中使用WebView创建一个ViewController,并将webview连接为IBOutlet 这段代码很简单,工作正常
- (void)viewDidLoad
{
[super viewDidLoad];
NSURLRequest *request = [NSURLRequest requestWithURL:@"http://www.google.com.ua"];
[webView loadRequest:request];
}