UINavigationViewController控件UIContainerView嵌入segue

时间:2017-06-11 11:30:54

标签: ios objective-c iphone xcode xcode-storyboard

我有以下情况: Main.storyboard

UIViewController嵌入在UINavigationViewController中。 UIViewController附加了一个UINavigationItem,并有一个UIContainerView作为子视图。 UIContainerView有一个嵌入到具有一些静态行的UITableViewController的segue。

  

如何在用户按下“高级”行时进行此操作   右边的小箭头图像,UIViewContainer的嵌入segue得到   更改为引用另一个UITableViewController并返回   UINavigationController上的按钮,以便用户可以导航   回到原来的UITableViewController(带动画)?

基本上我希望用户能够在“设置”和“高级设置”之间切换。

我尝试过的事情: 我尝试让容器视图嵌入到UINavigationController的segue。第一个UITableViewController被设置为与UINavigationController具有根视图控制器segue关系。然后我在箭头(按钮)和另一个UITableViewController之间做了一个show segue。通过这种方式,我可以在设置之间进行转换 - >高级设置 - >设置,但我有双导航栏。一个是我想要的栏,白色一个在顶部,另一个是灰色的,显示在下方和后退按钮的位置。我希望它是一个单一的导航栏(白色)。

Settings Screen Advanced Settings Screen

  

使用代码实现我想要的(Objective-C或Swift)没有问题。

1 个答案:

答案 0 :(得分:0)

最后,我通过添加后退按钮并以编程方式解除“高级设置”视图控制器来完成代码。我通过创建一个show segue到“高级设置”UITableView来实现这一目标。然后我继承了UITableViewController:

@implementation AdvancedSettingsController

- (void)viewDidLoad
{
  [super viewDidLoad];

  UIBarButtonItem* backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(goBack)];
  self.navigationController = (UINavigationController*)self.parentViewController;
  self.parentViewController.parentViewController.navigationItem.leftBarButtonItem = backButton;
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
#warning Incomplete implementation, return the number of sections
    return 0;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
#warning Incomplete implementation, return the number of rows
    return 0;
}

-(IBAction)goBack
{
  [self.navigationController popViewControllerAnimated:YES];
}
@end

我只是希望使用Xcode构建器来完成自动化过程,因为我不喜欢self.parentViewController.parentViewController的事情,因为如果我更改我的控制器,这将停止工作并且有点困难阅读。

End result (webm) - https://webmshare.com/m8Kne