0

我在网上看到很多示例都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];
    }
}

但它不加载任何东西。你知道如何解决这个问题吗???难道我做错了什么?

4

2 回答 2

1

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

- (void) viewDidLoad {
[UIWebViewInstance loadHTMLString: @"something" baseURL:nil];
}
于 2012-10-05T19:31:33.263 回答
1

直到你的 segue 被执行之后,web 视图才会被实例化。您可以在调试器中确认这一点。

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

于 2012-10-05T19:58:33.130 回答