无法获取要在UIWebView中显示的html文件

时间:2012-03-10 20:34:15

标签: xcode4 uiwebview

我试图效仿这个例子:http://howtomakeiphoneapps.com/uiwebview-tutorial/239/

我在我的视图中添加了一个UIWebView(使用Storyboard)...我将IBOutlet添加到我的.h控制器文件中。 (见图片:http://imgur.com/GfUmC)。我向视图控制器添加了一个委托,如下所示:

#import <UIKit/UIKit.h>

@interface slWebViewController : UIViewController <UIWebViewDelegate> {
    IBOutlet UIWebView *slWebView;    
}

@end

由于我正在使用XCode 4,我不知道如何将UIWebView的委托设置为文件所有者,这就是为什么我认为这就是我得到的黑屏。我错过了什么,但我不知道是什么。在这一点上,我真的非常感谢任何帮助我能解决这个问题......

1 个答案:

答案 0 :(得分:1)

在您的故事板中,右键单击(或按住Ctrl键单击)并从UIWebView拖动到左侧的文件所有者,然后选择“委托”。

或者,选择webView(如图像中所示)。注意顶部插座,“代表”。从那里拖到文件所有者。

或者你可以编码。在viewDidLoad中,键入“self.sIWebView.delegate = self;”

所有这一切都假设您的URL请求正确。如果你不这样做,这是一个例子:

NSURL * url = [NSURL URLWithString:@"http://google.com"];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: url  
                                                           cachePolicy: NSURLRequestReloadIgnoringCacheData    
                                                       timeoutInterval: 10];
    [sIWebView loadRequest:request];

编辑:如果您以模态方式呈现webView,请将此代码添加到视图控制器中,该视图控制器将分段到您的webview:-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ if ([segue.identifier isEqualToString:@"SegueIdentifier"]) { WebViewController *webView = segue.destinationViewController; webView.delegate = self; } }您需要为segue添加标识符。只需单击segue本身,转到右侧的第三个选项卡,然后输入标识符。

更新:我已将问题隔离到webViewConroller.m文件中。一切都正确连接。如果我将loadRequest代码放在viewDidLoad的viewController中,我会看到Google。如果我将loadRequest代码放在“webViewController”中,并将ViewContoller标记为webViewController的自定义类,则会出现黑屏。我想知道是否有更好的方法让UIWebView显示内容?我真的不需要webView的控制器,只需点击该单元格的segue,显示UIWebView的内容......不确定我是否可以使用XCode ...