【发布时间】:2014-02-18 06:15:38
【问题描述】:
我有一个从控制器 A 到 B 的自定义转换,它就是这样定义的
@implementation Mycustomsegue
-(void)perform {
[[self sourceViewController] presentViewController:[self destinationViewController] animated:NO completion:^{
}];
}
@end
现在,当从 B 展开到 A 时,它看起来像是控制器 B 的模态解雇。我该如何删除它?我不想要任何动画或者我想要控制它。
【问题讨论】:
-
你如何解雇?你在那里用过
animated:YES吗?在呈现时,animated:NO看起来不错 -
通过在控制器 A 中实现它,然后在控制器 B 中连接一个按钮(使用情节提要)
-(IBAction)unwindToTop:(UIStoryboardSegue *)segue { }。据我所知,没有地方可以设置 Mycustomsegue 和 unwind segues。 -
这个答案:stackoverflow.com/a/19956258/129202 现在帮助了我。我需要对主导航控制器进行子类化,并添加一个最终在控制器 A 上调用的方法,该方法实例化 Mycustomsegue,我必须向其中添加一个 BOOL 展开属性。实例化它,将属性设置为 YES,然后在 Mycustomsegue 的执行中,调用dismiss*** 而不是 present*** ... 一种冗长的解决方法,但到目前为止似乎有效。
标签: ios uistoryboard uistoryboardsegue