Ios 如何停止按钮

Ios 如何停止按钮,ios,objective-c,Ios,Objective C,我是开发iOS程序的新手,我需要你的帮助 当我点击按钮时,我的代码检查一个条件,如果条件为真,我想访问下一个UIViewController,用prepareForSegue传递数据,但如果条件为FALSE,我不想访问下一个VC,而停留在当前的VC 我怎么能这么做 当我点击我的按钮时,我直接进入下一个VC,无论iAction中的代码是什么。有可能封锁通道吗 我试着在按钮上编码 - (IBAction)lancepartie:(id)sender { ... 试试这个代码 - (IBAction

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

当我点击按钮时,我的代码检查一个条件,如果条件为真,我想访问下一个
UIViewController
,用
prepareForSegue
传递数据,但如果条件为
FALSE
,我不想访问下一个
VC
,而停留在当前的
VC

我怎么能这么做

当我点击我的按钮时,我直接进入下一个
VC
,无论
iAction
中的代码是什么。有可能封锁通道吗

我试着在按钮上编码

- (IBAction)lancepartie:(id)sender {
...
试试这个代码

- (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"]) {

    }
}

其他答案应该是可行的,但它们忽略了segues的全部意义:你不应该手动设置segues之类的按钮操作。相反,您应该重写
-(BOOL)shoulPerformSegueWithIdentifier:(NSString*)标识符发送方:(id)发送方
选择器

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

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

显示整个方法的乐趣有用的东西。。。这只是我的情况。你的故事板上的按钮是否同时连接了segue和此操作?在StackOverflow.com上发布问题之前,你可能想先做一些教程。。。这是iOS编码101,这几乎是你从一本关于iOS开发的书中学到的第一件事。//推送视图控制器我怎么能做到?newt VC的启动是自动的,不是吗?我怎么能编程成“不切换控制器”?如果你的条件是假的,那么下面的代码中什么都不会发生。只是不要在else块中编写任何代码。简单的
- (BOOL)shouldPerformSegueWithIdentifier:(NSString*)identifier sender:(id)sender
{
    if ([identifier isEqualToString:@"MyIdentifier"])
    {
        return someCondition;
    }
    else return YES;
}