2012-10-05 56 views
0

我在網上看到很多示例,調用loadString將靜態HTML加載到UIWebViewUIWebView loadString不能在storyboard中使用prepareForSegue函數?

我想在我的應用程序的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]; 
    } 
} 

但它不加載任何東西。你有什麼想法如何解決這個?難道我做錯了什麼?

回答

1

嘗試在您的類MYCLASSController的viewDidLoad方法中加載內容。

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

在viewDidLoad中工作...但這不是我所需要的:) – Napolux

+0

通過將html文本傳遞給viewcontroller類的屬性,然後在viewDidLoad函數中加載html來解決。 – Napolux

1

直到執行完segue後,web視圖纔會被實例化。您可以在調試器中確認這一點。

您應該將HTML作爲字符串屬性傳遞給視圖控制器,然後將其加載到viewDidLoad中的Web視圖中。只允許視圖控制器管理自己的視圖是一個很好的一般原則。外部對象不應該能夠修改它們。有關更多信息,請參閱this奇妙的文章。

+0

謝謝!十分有趣! – Napolux

相關問題