iOS 8.1,XCode 6.1,Storyboard和2个UIViewControllers,如下所示:
左侧的视图是主视图,右侧的视图是UIWebView,它将显示用HTML编写的帮助信息。我的问题是,当我点击其中带有“i”的蓝色圆圈时,它应该转到第二个视图控制器(它会这样做)并显示该语言的html(它不会这样做)。 ..我得到的只是一个黑屏!这是我显示html文件内容的代码:
-(void) viewWillAppear:(BOOL)animated {
NSURL *indexURL;
NSString *sysLangCode = [[NSLocale preferredLanguages] objectAtIndex:0];
// do we support this language?
if([sysLangCode isEqualToString:@"en"] || [sysLangCode isEqualToString:@"de"] || [sysLangCode isEqualToString:@"it"] ||
[sysLangCode isEqualToString:@"es"] || [sysLangCode isEqualToString:@"fr"] || [sysLangCode isEqualToString:@"ja"] ||
[sysLangCode isEqualToString:@"zh-Hant"] ) {
indexURL = [[NSBundle mainBundle] URLForResource: [NSString stringWithFormat:@"instRST-%@", sysLangCode]
withExtension:@"html"]; // contatenate the language code to the filename
}
else
indexURL = [[NSBundle mainBundle] URLForResource: @"instRST-en" withExtension:@"html"]; // make 'en' the default
NSLog(@"\n\nmainBundle: %@",[NSBundle mainBundle]);
NSURLRequest *request = [NSURLRequest requestWithURL: indexURL];
NSLog(@"\n\nhtmlURL: %@",indexURL);
[self.webView loadRequest:request];
}
- (void)viewDidLoad {
[super viewDidLoad];
[webView setDelegate:self];
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
NSLog(@"Failed to load with error :%@",[error debugDescription]);
}
UPDATE这是webView的连接:
我现在已经尝试了几个小时的不同场景,并且已经放弃了我自己做的事情。有人可以告诉我我做错了什么吗?
由于您使用的是故事板,因此必须使用Segue来呈现ViewController。删除按钮操作实现,按住Control键并从按钮拖动到帮助视图控制器上。将它链接到Show segue。
我也面临同样的问题,下面的webview属性帮助我避免黑屏问题 [self.web setOpaque:NO];