Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 我的UIWebView中只有黑屏_Ios_Objective C_Xcode_Webview_Uiwebview - Fatal编程技术网

Ios 我的UIWebView中只有黑屏

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

我有两个视图控制器。在第一个视图中,我有一个按钮,当您单击它时,需要在第二个视图控制器中显示一个网页。当我点击按钮时,我只看到一个黑屏

以下是TabulkaViewController.m代码:

#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];
}