UIWebView loadString在故事板prepareForSegue函数中不起作用?

时间:2012-10-05 19:17:09

标签: ios uiwebview uistoryboardsegue

我在网上发布了一些名为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];
    }
}

但它没有加载任何东西。你对如何解决这个问题有任何想法吗?我做错了吗?

2 个答案:

答案 0 :(得分:1)

尝试在类MYCLASSController的viewDidLoad方法中加载内容。

- (void) viewDidLoad {
[UIWebViewInstance loadHTMLString: @"something" baseURL:nil];
}

答案 1 :(得分:1)

直到执行segue之后才会实例化Web视图。您可以在调试器中确认。

您应该将HTML作为字符串属性传递给视图控制器,然后将其加载到viewDidLoad中的Web视图中。仅允许视图控制器管理自己的视图是一个很好的一般原则。外部对象不应该能够修改它们。有关更多信息,请参阅this精彩文章。