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

セグエが実行されるまで、Webビューはインスタンス化されません。これはデバッガーで確認できます。

HTMLを文字列プロパティとしてViewControllerに渡し、それをviewDidLoadのWebビューにロードする必要があります。ビューコントローラのみが独自のビューを管理できるようにすることは、一般的な原則として適切です。外部オブジェクトはそれらを変更できないはずです。詳細については、この素晴らしい記事を参照してください。

于 2012-10-05T19:58:33.130 に答える