我嘗試創建我的第一個iPhone應用程序。我在Storyboard中創建了兩個不同的視圖。 「主」和「詳細」視圖。我將Master View嵌入到導航控制器中。 Master View由UITableView和自定義單元組成。用segue更改視圖
我嘗試在點擊單元格時顯示細節視圖。但我不明白怎麼做......我在單元格和細節視圖之間創建了一個「視圖細節」,但是當我點擊單元格時,沒有任何反應。
感謝您的幫助。
我嘗試創建我的第一個iPhone應用程序。我在Storyboard中創建了兩個不同的視圖。 「主」和「詳細」視圖。我將Master View嵌入到導航控制器中。 Master View由UITableView和自定義單元組成。用segue更改視圖
我嘗試在點擊單元格時顯示細節視圖。但我不明白怎麼做......我在單元格和細節視圖之間創建了一個「視圖細節」,但是當我點擊單元格時,沒有任何反應。
感謝您的幫助。
將UITableView嵌入到導航控制器中。
你的表中有「didSelectRowAtIndexPath」方法嗎?
是的,我寫了'[self performSegueWithIdentifier:@「showDetail」sender:self];' – ThibaultV 2014-09-19 19:31:42
@ThibaultV,你不應該如果您將細胞從細胞轉移到下一個控制器,則調用performSegue - 選擇細胞時應該自動調用它。 – rdelmar 2014-09-19 19:51:53
試試這段代碼: 'VIEWCONTROLLERTHATUNEEDTOPUSH * viewController = [[VIEWCONTROLLERTHATUNEEDTOPUSH alloc] init]; [self.navigationController pushViewController:viewController animated:YES];' 不要忘記爲您的主視圖控制器更改VIEWCONTROLLERTHATUNEEDTOPUSH! – 2014-09-19 20:23:21
您可以使用此解決方案here嘗試:
的問題是,你沒有正確處理您的數據。如果你看看你的currentResponse數組,你會看到它擁有NSDictionaries,但是在你的prepareForSegue中,你試圖將一個NSDictionary轉換爲NSArray,這會導致應用程序崩潰。
變化RestaurantViewController到NSDictionary中的數據變量和更改prepareForSegue通過一個一個的NSDictionary
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if let cell = sender as? UITableViewCell {
let i = redditListTableView.indexPathForCell(cell)!.row
if segue.identifier == "toRestaurant" {
let vc = segue.destinationViewController as RestaurantViewController
vc.data = currentResponse[i] as NSDictionary
}
}
}
有一個Xcode樣品確實你正在嘗試做同樣的事情。只要給它一張支票。你可以在** XCode> File> New> Project ...> iOS> Application> Master Detail Application **中找到它。 – jMelnik 2014-09-19 18:27:15
我爲我的應用程序使用了Master Detail應用程序。一切工作,直到我創建我的自定義UITableViewCell。 – ThibaultV 2014-09-19 19:34:24
檢查它與您的問題類似:http://stackoverflow.com/a/28428558/4935811 – 2017-02-23 04:49:32