在检查其他方法问题之前应该调用SegueWithIdentifier
我试图让一个segue,但我有一个小问题,这是我点击一个button,如果布尔是YES它会返回YES是在segue否则返回NO,但每次我必须点击两次检查textfield,因为它首先传递shouldPerformSegueWithIdentifier
而它应该首先检查IBAction。
请问我该如何解决这个问题?
- (IBAction)search:(id)sender{ if ([_txtfld.text isEqual:@"test"]) { push = YES; //Bolean } else { push = NO; //Bolean } } - (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender { if ([identifier isEqualToString:@"SearchSegue"] && push==YES) { NSLog(@"Showed"); return YES; } else{ NSLog(@"Not showed"); return NO; } }
您需要从button中的动作中移除segue,将其移至视图控制器,然后在您的IBAction
方法中调用performSegueWithIdentifier
,或者仅在shouldPerformSegueWithIdentifier
使用逻辑并删除IBAction
方法。
所以,无论 –
- (IBAction)search:(id)sender{ if ([self.txtfld.text isEqual:@"test"]) { [self performSegueWithIdentifier:@"SearchSegue" sender:self]; } }
并且摆脱应该执行shouldPerformSegueWithIdentifier
或摆脱IBAction
方法并且有 –
- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender { BOOL ret=YES; if ([identifier isEqualToString:@"SearchSegue"]) { if (![self.txtfld.text isEqual:@"test"]) { ret=NO; } } return ret; }
- replace“fabs”,“fmax”等以便在64位iOS设备上使用CGFloat
- 将一个CustomBadge添加到navigationBar中的UISegmentedControl
- Tableview最后一行在tabbarcontroller下被切断
- 在xcode 5中实例化ViewControllerWithIdentifier
- 带边框的cornerRadius:边界周围有毛刺
- 恢复AVPlayerstream播放的最后一个示例
- 在Xcode 6.0中删除启动屏幕
- 获取UIPageViewController当前索引的可靠方法
- 使用WordPress User Credentials和php脚本将数据发送到iOS应用程序