从“嵌套”视图控制器启动View Controller

时间:2015-07-05 19:28:24

标签: ios objective-c uiviewcontroller uinavigationcontroller

我有一个UIViewController,它将另一个UIViewController添加为子视图:

.py

ListViewController 中有一个TableView。单击TableView中的项目,我想将一个UIViewController添加到导航控制器:

#import "ListViewController.h"

@interface SearchViewController ()

@end

@synthesize listController;

- (void)viewDidLoad {
    [super viewDidLoad];

    …

    self.listController =[[ListViewController alloc] init];
    [self.view insertSubview:listController.view belowSubview:mainTabBar];
    self.listController.view.frame = CGRectMake(0, tabHeight, screenWidth, (screenHeight-tabHeight));

}
@end

如果将ListViewController正常添加到导航控制器,则此方法有效。但是,在这种情况下,当ListViewController基本上“嵌套”在另一个内部时,新添加的 PlaceViewController 不会打开。有没有办法让这项工作?感谢

1 个答案:

答案 0 :(得分:0)

您应该在容器和添加了其视图的控制器之间创建父/子关系。有些信息可以在https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/的介绍中找到,也可以在互联网上找到。只需看看自定义容器视图控制器。

然后,您可以使用ListViewController的parentViewController属性从ListViewController获取容器的navigationController属性。