Ios 我的UIWebView中只有黑屏
我有两个视图控制器。在第一个视图中,我有一个按钮,当您单击它时,需要在第二个视图控制器中显示一个网页。当我点击按钮时,我只看到一个黑屏 以下是TabulkaViewController.m代码:Ios 我的UIWebView中只有黑屏,ios,objective-c,xcode,webview,uiwebview,Ios,Objective C,Xcode,Webview,Uiwebview,我有两个视图控制器。在第一个视图中,我有一个按钮,当您单击它时,需要在第二个视图控制器中显示一个网页。当我点击按钮时,我只看到一个黑屏 以下是TabulkaViewController.m代码: #import "TabulkaViewController.h" #import "WebViewController.h" @interface TabulkaViewController () @end @implementation TabulkaViewController - (id
#import "TabulkaViewController.h"
#import "WebViewController.h"
@interface TabulkaViewController ()
@end
@implementation TabulkaViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
_hbutton.layer.borderWidth = 1;
_hbutton.layer.borderColor = [[UIColor grayColor] CGColor];
}
- (IBAction)hbutton:(id)sender
{
NSURL *url = [NSURL URLWithString:@"http://apple.com"];
WebViewController *webViewController = [[WebViewController alloc] initWithURL:url andTitle:@"Apple"];
[self presentViewController:webViewController animated:YES completion:nil];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
以下是WebViewController.h的代码:
#import <UIKit/UIKit.h>
@interface WebViewController : UIViewController <UIWebViewDelegate>
{
NSURL *theURL;
NSString *theTitle;
IBOutlet UIWebView *webView;
IBOutlet UINavigationItem *webTitle;
}
- (id)initWithURL:(NSURL *)url;
- (id)initWithURL:(NSURL *)url andTitle:(NSString *)string;
- (IBAction) done:(id)sender;
@end
您需要在某个时候实例化webView。我建议您将viewDidLoad更改为:
- (void)viewDidLoad
{
[super viewDidLoad];
webView = [[UIWebView alloc] init];
webTitle.title = theTitle;
NSURLRequest *requestObject = [NSURLRequest requestWithURL:theURL];
[webView loadRequest:requestObject];
}
由于您的webView在方法开始时为null
,因此需要先创建它,然后才能加载任何请求。仅仅在头文件中声明它是不够的,这就是为什么需要webView=[[UIWebView alloc]init]代码>
编辑:
当然,您也可以将这一行放在带有url:andTitle:method的单元中,在这里进行其他实例化。在viewDidLoad中,创建requestObject后,尝试NSLog(@“%@,%@”,URL,requestObject)代码>并发布结果。结果是:tabulkapervku[2983:60b],{URL:}好的,这很好。但是我没有看到你在任何地方实例化webview。尝试NSLog(@“%@”,webView)
在[webView loadRequest:requestObject]
之前。我想它可能是零。结果是:2014-05-29 18:36:36.353 Tabulkaprvku[3154:60b](null)我尝试将该行放入-(void)viewDidLoad,现在我得到了结果:Tabulkaprvku[3325:60b]@Alien-好的,太好了。但听起来你的问题并没有消失?您是否已将插座连接到XIB/情节提要中的Web视图?Y我已将Web视图连接到插座中的Web视图(我使用情节提要):(@Alien-好吧,那么问题不在您发布的代码中。(至少,不再是了)。祝您好运解决此问题。好的,我将尝试。谢谢您的帮助
- (void)viewDidLoad
{
[super viewDidLoad];
webView = [[UIWebView alloc] init];
webTitle.title = theTitle;
NSURLRequest *requestObject = [NSURLRequest requestWithURL:theURL];
[webView loadRequest:requestObject];
}