2012-05-15 44 views
0

我正在使用拆分視圖控制器並希望將多個表視圖添加到主視圖控制器。didDeselectRowAtIndexPath未從UITableViewController從故事板添加到UIViewController

所以我可以利用原型單元格(我相信)你只能從UITableViewController獲得我已經把UITableViewController放到應用程序的第二個故事板中。我然後用充實它:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"SecondStoryboard" bundle:nil]; 
MyTableViewController *myTableViewController = [storyboard instantiateInitialViewController]; 

我再加入這個UITableViewController中的觀點作爲我的UIViewController的一個子視圖。

[self.view addSubview:myTableViewController.view]; 

當我運行這個,我可以選擇和突出顯示行很好。但是didSelectRowAtIndexPath因爲某種原因沒有被調用?

感謝您的幫助, 理查德

+3

您是否設置了'UITableView'的'delegate'屬性? – mAu

+0

我檢查了故事板,UITableView的代理設置正確。必須以我將UITableViewController添加到UIViewController的方式來阻止我想要的呼叫。但正如我所說,正在接受觸摸事件,因爲觸摸時行會突出顯示。 – Richard

+0

你在哪裏設置房產?我曾經通過在'init'方法中將委託設置爲表視圖來解決問題。但是你必須在視圖加載完成後才能做到這一點,所以'viewDidLoad'就是合適的地方。只是爲了確保這不是問題。 – mAu

回答

1

添加此行

myTableViewController.view.delegate = myTableViewController;

或確保您已在廈門國際銀行(Interface Builder中)做了同樣的。

+0

我找不到任何myTableViewController.view.delegate屬性。 – Richard

1

原來,我需要添加uitableviewcontroller作爲uiviewcontroller的子控制器。僅僅添加視圖是不夠的。

相關問題