我试图效仿这个例子: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的委托设置为文件所有者,这就是为什么我认为这就是我得到的黑屏。我错过了什么,但我不知道是什么。在这一点上,我真的非常感谢任何帮助我能解决这个问题......
答案 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 ...