我已經採取了基於標準的iPad SplitViewerController模板的項目和實施遞歸向下鑽取導航功能的任何數量的級別如下:iPad的SplitViewController遞歸向下鑽取 - 訪問DetailViewController
首先我創建了一個新的視圖控制器(命名NavItemController),我彈出到控制器堆疊在RootViewController的的didSelectRowAtIndexPath方法方法如下:
NavItemController *navItemController = [[NavItemController alloc] initWithNibName:@"NavItemController" bundle:[NSBundle mainBundle]];
navItemController.title = catalogue.name;
[[self navigationController] pushViewController:navItemController animated:YES];
我然後使用此視圖控制器對所有導航上下我的樹結構(因此RootViewController的現在僅用於顯示最初的根級別導航即沒有父母的項目)。
這一切都很好。
現在我正在嘗試更新詳細視圖(detailViewDescriptionLabel)上的標籤,當我在NavItemController中選擇一個項目時。要做到這一點,我首先增加了一出口我NavItemController:
@property (nonatomic, strong) IBOutlet DetailViewController *detailViewController;
,並從圖書館到對象列表中添加一個視圖控制器,改變其類DetailViewController和掛鉤的出口在InterfaceBuilder中配置它,我在File's Owner下找到。
在這一點上,如果我一步一步通過我的代碼,我發現它正確設置我的詳細信息視圖中的detailItem到在我的NavController中選擇的對象 - 它似乎正確地將detailDescriptionLabel.text值設置爲從此detailItem 。然而,這並不反映在用戶界面(它仍然工作,如果我從RootViewController這樣做)。
我在猜測,我沒有正確地勾住某個東西,或者錯過了某個步驟 - 我(顯然)對iOS來說很新 - 任何指針都會被讚賞。