2015-02-23 2 views
-1

IOS 8,1, XCode 6.1, раскадровка и 2 UIViewControllers, которые выглядят так:UIWebView показывает черный экран без данных

enter image description here Вид слева главный вид, вид на праве является 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:

enter image description here

Я пробовал разные сценарии в течение нескольких часов в настоящее время, и дал делая это самостоятельно. Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно?

+0

Существуют ли какие-либо методы делегатов? Вы запустили свойство веб-представления? Вам не хватает некоторых вызовов супер, хотя это не должно быть терминальным. – Wain

+0

Ahhh .... "WebView" свойство нуль !! Как это может быть? – SpokaneDude

+0

Поместите ** [super viewWillAppear: animated] ** в верхней части viewWillAppear. Что-нибудь изменилось? – Chase

ответ

1

Поскольку вы используете раскадровку, вы должны использовать Segue, чтобы представить свой ViewController. Удалите выполнение действия кнопки и Control + Drag с вашей кнопки на контроллер справки. Свяжите его с Show segue.

+0

Спасибо, благодарю вас, спасибо! – SpokaneDude

+0

Это не должно быть segue, но контроллер должен быть создан из раскадровки каким-то образом ... – Wain

Смежные вопросы