2010-03-24 47 views
2

我有一個應用程序,其中有一個UIWebView和一個UITableView。我不想創建許多.xib,所以我決定爲表中的所有元素創建一個.xib。當用戶選擇一個表格元素時,會出現UIWebView,我希望它根據父控制器的名稱從不同的.html中加載數據。該html包含文本和圖像(公式轉換爲圖像)。如何使相同的UIWebView從不同的本地.html文件中獲取數據?

我嘗試這樣做:

if ([email protected]"FirstElement") { 
    [childController.message loadRequest:[NSURLRequest requestWithURL: 
     [NSURL fileURLWithPath:[[NSBundle mainBundle] 
     pathForResource:@"_" ofType:@"html"]isDirectory:NO]]]; 
} 

然後

myWebView=message; 

但沒有奏效。

也許可以在UITextView中顯示相同的內容(但不在.html中)?

在此先感謝!

+0

loadRequest:是UIWebView的方法,應該使用[myWebView loadRequest:....]。 – zonble

回答

2
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    switch ([indexPath row]) 
    { 
     case 0: 
      [self loadFoo]; 
      break; 
     case 1: 
      [self loadBar]; 
      break; 
    } 

    [tableView deselectRowAtIndexPath:indexPath animated:YES]; 
} 

- (void)loadFoo 
{ 
    [self loadFile:@"foo.html"]; 
} 

- (void)loadBar 
{ 
    [self loadFile:@"bar.html"]; 
} 

- (void)loadFile:(NSString*)file 
{ 
    NSString* resourcePath = [[NSBundle mainBundle] resourcePath]; 
    NSString* sourceFilePath = [resourcePath stringByAppendingPathComponent:file]; 
    NSURL* url = [NSURL fileURLWithPath:sourceFilePath isDirectory:NO]; 
    NSURLRequest* request = [NSURLRequest requestWithURL:url]; 
    [myWebView loadRequest:request]; 
} 
+0

感謝您的代碼,但我又遇到了一個問題 - 我的WebView和我的UITableViewController在不同的文件中實現。如何從另一個文件中檢索WebView? – Knodel

+0

我認爲「檢索」在這裏是錯誤的詞。您可以在Interface Builder(在視圖控制器的.h文件中使用IBOutlet)或手動代碼中將視圖控制器與視圖相關聯。你可以像掛鉤UIButton或UILabel一樣連接你的UIWebView。 –

+0

那麼,這是我的英語不好:)但無論如何,在我做了outlet等後,我將如何從另一個.m文件獲取UIWebView?否則 [myWebView loadRequest:request]; 將不起作用。 – Knodel

相關問題