如何停止按钮

时间:2014-02-17 19:28:34

标签: ios objective-c

我是开发iOS程序的新手,我需要你的帮助。

当我点击按钮时,我的代码检查一个条件,如果条件为真,我想访问下一个UIViewController传递数据prepareForSegue,但条件是{{ 1}},我不想访问下一个FALSE并保持当前的VC

我怎么能这样做?

当我点击我的按钮时,我会直接访问下一个VC,无论VC中的代码是什么。是否可以阻止访问?

我尝试在按钮上编码

IBAction

3 个答案:

答案 0 :(得分:1)

其他答案应该有效,但它们忽略了segues的全部要点:你不必手动设置按钮上的动作,如segues。相反,您应该覆盖- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender选择器。

为此,您需要从Interface Builder中为您的segue提供一个标识符,然后在您的父ViewController中添加此代码:

- (BOOL)shouldPerformSegueWithIdentifier:(NSString*)identifier sender:(id)sender
{
    if ([identifier isEqualToString:@"MyIdentifier"])
    {
        return someCondition;
    }
    else return YES;
}

答案 1 :(得分:0)

- (IBAction)lancepartie:(id)sender {
    BOOL someConditionHasBeenMet = NO;
    // check condition
    if (someConditionHasBeenMet) {
         // push view controller
    } else {
         // nothing
    }
}

答案 2 :(得分:0)

试试这段代码

- (IBAction)lancepartie:(id)sender
{
    if(Your_Condition_Is_True){
        [self performSegueWithIdentifier:@"Your_Segue_Identifier" sender:sender];
    }
    else {
        //do not switch controller
    }
}

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"Your_Segue_Identifier"]) {

    }
}