2013-02-14 23 views
0

我有一個主/細節查看我目前正在構建的應用程序。基本上它在主視圖的表格中有一個列表,當用戶選擇一個項目時,它將在詳細視圖中顯示UIWebView中的網頁。 將會有大約6個不同的網站需要加載,以響應表中的6個對象。我的代碼工作到一定程度,但是它爲表中的每個項目加載相同的網頁。我認爲這將是最好寫一個開關case語句來告訴它加載網頁等我用下面的代碼來發動我的網頁在WebView在UIWebView中的多個URL調用

//create the UIWeb objects 
NSString *standardForm = @"http://jeremy.atkin.id.au"; 
NSString *csiroForm = @"http://www.csiro.gov.au"; 
NSString *kpmgForm = @"http://www.kpmg.com.au"; 
NSString *pacbrandsForm = @"http://www.pacbrands.com.au"; 
NSURL *url = [NSURL URLWithString:standardForm]; 
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 
[_formView loadRequest:requestObj]; 

然後我試圖拼湊開關case語句,但似乎被作出錯誤的聲明,並不斷得到錯誤...

switch (_formNumber) 
{ 
    case 0: 
     standardForm.url = standardForm; 
     break; 
    case 2: 
     url.URLWithString = csiroForm; 
     break; 
    case 3: 
     url.URLWithString = kpmgForm; 
     break; 
    case 4: 
     url.URLWithString = pacbrandsForm; 
     break; 
} 

任何幫助和指導,以得到這個工作正常,將不勝感激。我從來沒有建立一個主/細節應用程序,所以我想我在深的一端跳了起來! 乾杯

回答

0

將鏈接添加到一個NSArray,然後根據tableviewCell選擇的索引創建網址,並將請求加載到webview中。

1)在主

@property (nonatomic, retain) NSArray *urlList; 

然後合成在實施創建urlList一個屬性。

@synthesize urlList; 

2)在你的初始化或viewDidLoad中初始化數組

self.urlList = [[NSArray alloc]initWithObjects:@"http://jeremy.atkin.id.au",@"http://www.csiro.gov.au", @"http://www.kpmg.com.au",@"http://www.pacbrands.com.au",nil]; 

3)在didSelectRowAtIndexPath方法:索引創建請求和加載web視圖。

NSURLRequest * request = [[NSURLRequest alloc]initWithURL:[[NSURL alloc]initWithString:[urlList objectAtIndex:indexPath]]]; 
[_formView loadRequest:request]; 

不要忘記釋放(保留的對象)在dealloc中。如果使用弧,然後更改保留屬性爲強。

+0

- (void)stopLoading在加載新請求之前調用它。 – 2013-02-14 07:52:45

+0

很好,感謝上面的幫助!非常翔實。我開始這個應用程序作爲一個單一的頁面視圖,與我的大多數,並構建了我自己的導航控制器,它不一定符合上述。最好是使用主/細節模板開始? – 2013-02-14 08:47:21

+0

是的。您可以觀看(http://www.youtube.com/watch?v=Nrj7VGKdCOs)斯坦福視頻教程。看完之後,我確信無需任何人的幫助,您就可以輕鬆實現主細節。你正在創建一個通用的應用程序(iPhone,iPod和iPad)還是僅僅是iPhone? – 2013-02-14 09:18:58

0

您必須更改UITableView Didselectmethod中的URL。