我有UIViewController
,它包含另外兩個UIViewControllers
作爲屬性。在父視圖控制器中管理少數UIViewControllers
MenuViewController包含:
@property (nonatomic, strong) TeamsViewController *teamsViewController;
@property (nonatomic, strong) ResultsViewController *resultsViewController;
的MenuViewController包含表視圖,當電池「秀團隊」我需要初始化teamsViewController並顯示teamsViewController查看用戶點擊。當用戶按下單元格「顯示結果」時,同樣的事情,但在這種情況下,我需要顯示resultsViewController視圖。
所以,我通常這樣做是在單元格被按下時以一種方式初始化控制器,並調用addSubview方法來添加控制器視圖。但我認爲這是不好的解決方案,我是對的嗎?
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (_teamsViewController) _teamsViewController = nil;
_teamsViewController = [TeamsViewController new]
[self.view addSubView:_teamsViewController];
}
上述方法是否正常?
我的層次結構視圖,每個人都由自己的控制器管理。因此,您由MenuViewController管理的白色和由ResultViewController管理的灰色視圖以及由TeamsViewController管理的藍色視圖。
正如我之前所說的,當我點擊菜單視圖控制器中的適當單元格時,我需要顯示團隊或結果。但是每個視圖都有另一個視圖控制器。或者,也許我對視圖控制器範例感到困惑?也許TeamsViewController應該是一個TeamsView和ResultsViewController應該是ResultsView?所以這兩個視圖控制器都有在其控制器中管理的表格。所以我不認爲它必須是UIView而不是UIViewController。
它可能更容易使用一個uinavigationcontroller作爲MenuViewController的基類,並推動其他視圖控制器到導航堆棧,這也會給你內置'後'功能。 – JiuJitsuCoder
@MySpecialPurpose,但在這種情況下,我需要在主視圖控制器視圖上添加uinaviagtioncontroller視圖嗎? –
這是一個iPad應用嗎? – 3lvis