我在单独的xib文件中有一个UIBarButton项目但是当按下该按钮时我想将它带到我的故事板上的视图。
我可以从故事板视图(按下圆形矩形按钮)转到单独的自定义xib文件视图。但我不能回去(使用圆形矩形按钮或uibarbuttonitem)。
有人可以帮忙吗?
答案 0 :(得分:0)
如果您使用此代码从xib创建视图:
-(IBaction)button {
MainViewController *viewOther = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:[NSBundle mainBundle]];
[self.view addSubview:viewOther.view];
[THISViewController release];
}
然后在新的子视图控制器中执行此操作以将其删除并“返回”故事板上的视图:
[self.view removeFromSuperview];
但是,我认为这根本不是解决这个问题的最佳方法。我会将新的viewController
呈现为modalViewController
,然后在使用此内容时将其解散:
呈现它:
-(IBaction)button {
MainViewController *viewOther = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:[NSBundle mainBundle]];
[self presentModalViewController:viewOther animated:YES];
}
然后使用它发布它:
[self dismissModalViewControllerAnimated:YES];
但是,这仍然不是最好的方法。最好的方法是在MainViewController
中创建一个委托,然后让故事板视图控制器将自己指定为MainViewController
的委托。然后,当按下按钮时,MainViewController
应该告诉其delegate
(故事板视图控制器)将其关闭,然后故事板视图控制器将关闭MainViewController
。但是,这需要一点时间来解释,特别是如果您不熟悉创建协议。