我在网上发布了一些名为loadString
的示例,用于将静态HTML加载到UIWebView
。
我正在尝试在我的应用的prepareForSegue()
功能中构建相同内容。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
MYCLASSController *destViewController = segue.destinationViewController;
if ([segue.identifier isEqualToString:@"fromListToDetail"]) {
// let's suppose getHtmlTextForItem returns the NSString @"<b>Some HTML text</b> with formatting"
[destViewController.htmlText loadHTMLString: [db getHtmlTextForItem:bookId] baseURL:nil];
}
}
但它没有加载任何东西。你对如何解决这个问题有任何想法吗?我做错了吗?
答案 0 :(得分:1)
尝试在类MYCLASSController的viewDidLoad方法中加载内容。
- (void) viewDidLoad {
[UIWebViewInstance loadHTMLString: @"something" baseURL:nil];
}
答案 1 :(得分:1)
直到执行segue之后才会实例化Web视图。您可以在调试器中确认。
您应该将HTML作为字符串属性传递给视图控制器,然后将其加载到viewDidLoad中的Web视图中。仅允许视图控制器管理自己的视图是一个很好的一般原则。外部对象不应该能够修改它们。有关更多信息,请参阅this精彩文章。