如何关闭segue ios8
Posted
技术标签:
【中文标题】如何关闭segue ios8【英文标题】:How to dismiss segue ios8 【发布时间】:2015-05-08 12:16:18 【问题描述】:我对segue不太熟悉。我第一次使用它。
[self performSegueWithIdentifier:@"LoginSegue" sender:nil];
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
id destinationViewController = segue.destinationViewController;
if ([destinationViewController isKindOfClass:[MFSideMenuContainerViewController class]])
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:Main bundle:[NSBundle mainBundle]];
UINavigationController *navigationController = [storyboard instantiateViewControllerWithIdentifier:NavigationController];
MFSideMenuContainerViewController *container = (MFSideMenuContainerViewController *)destinationViewController;
UIViewController *leftSideMenuViewController = [storyboard instantiateViewControllerWithIdentifier:LeftSideMenuIdentifier];
[container setLeftMenuViewController:leftSideMenuViewController];
[container setCenterViewController:navigationController];
我的问题是,当我尝试使用以下方法在 SideMenu 中的 LOGOUT 按钮上将其关闭时,
[self dismissViewControllerAnimated:YES completion:nil];
什么都没有发生。不知道怎么解除。 任何人都可以解决这个问题吗? 提前致谢!
【问题讨论】:
寻找放松转场。 【参考方案1】:根据documentationdismissViewControllerAnimated
关闭由模态呈现的视图控制器 接收器。
所以这适用于模态呈现的控制器,对于导航堆栈,请改用unwind segues。
【讨论】:
我的 ViewController 以模态方式呈现。仍然无法正常工作。我也不知道为什么?【参考方案2】:[self dismissViewControllerAnimated:YES completion:nil];
当视图控制器存在时,上述语句会关闭视图控制器。
如果您使用“PUSH”或“SHOW”,那么您的视图控制器正在推送到导航堆栈。那么在这种情况下,您必须从导航堆栈中弹出该视图控制器。
试试下面的代码
[self.navigationController popViewController:yourViewController animated:YES];
【讨论】:
我正在使用“MODAL”,我的视图控制器显示在登录按钮上。所以 [self dismissViewControllerAnimated:YES completion:nil];必须工作。但这不是:(以上是关于如何关闭segue ios8的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 9 上关闭由 segue 创建的 Popover
如何使用 uistepper 乘以 segue 数据传输中的值 [关闭]