IOS7,塞格和故事板 – 如何创build没有button?
我目前有一个login视图和一个应用程序视图,我已经成功地在login视图上执行validation,我需要编程方式转移到成功validation的应用程序视图。
我知道我可以添加一个segue到loginbutton,然后像这样调用它programaticaly …
[self performSegueWithIdentifier:@"LoginSegue" sender:sender];
但是,当button被点击时,这显然会被触发(因为segue被创build附加到button)。 我刚刚读过,我应该创build一个button(并隐藏它),然后对segue进行编程调用 – 这似乎有点“错误”。
如何创build一个不附加到任何特定UI事件的Segue?
删除当前的赛格。
从源视图控制器附加segue到目的地(然后命名它)。
现在,你的button按下方法应该是这样的:
Objective-C的:
- (IBAction)validateLogin:(id)sender { // validate login if (validLogin) { [self performSegueWithIdentifier:@"mySegue" sender:sender]; } }
迅速:
@IBAction func validateLogin(sender: UIButton) { // validate login if validLogin { self.performSegueWithIdentifier("mySegue", sender:sender) } }
这里的关键是,原始视图控制器应该是你正在拖动创buildsegue的,而不是button或任何其他UI元素。
就我个人而言,我把这些方法都挂钩了,即使是那些在简单的button上触发的button,没有任何validation或者背后的逻辑。 从button的方法调用它很容易。
而且,我通常将所有的segue名称声明为项目中某处的常量string。