作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在研究 Storyboard,它在第一次查看时有几个 View ,如果条件满足,我想要一个条件,那么只应该发生导航
为此,我使用了自定义转场,但无论我的条件是否满足,它都会导航到新 View 。
我在自定义 segue 类中创建了方法
- (void) perform{
NSLog(@"source %@",self.sourceViewController);
NSLog(@"dest %@",self.destinationViewController);
UIViewController *sVC=self.sourceViewController;
UIViewController *dVC=self.destinationViewController;
[sVC.navigationController pushViewController:dVC animated:YES];
}
最佳答案
你是说你只想在条件为真时执行 segue 吗?
如果是这样,不要直接从控件或表格单元格创建转场,而是创建无触发转场。无触发器转场将 View Controller 作为其来源,并且永远不会自动触发。相反,您可以随时以编程方式触发它,包括从 IBAction 触发。
要创建无触发器转场,请从场景底部的场景停靠栏中包含的 View Controller 图标开始控制并拖动转场。像往常一样拖动到目标场景,然后选择转场类型。选择 segue,然后在检查器中,选择一个 segue 标识符。
在运行时,当你想要执行 segue 时,调用 -[UIViewController performSegueWithIdentifier:sender:]。您可以为发件人传递任何您想要的对象,包括 nil。如果发件人对您没有用,则传递 nil。
所以,总结一下:
关于xcode - 如何在 Storyboard 中应用基于条件的自定义转场,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10827203/
我是一名优秀的程序员,十分优秀!