我尝试在没有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]; }
谢谢,
如果这是你正在使用的确切代码,那么它就无法工作: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步:在视图中拖放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