有条件地切换UIViewController

时间:2014-02-15 20:25:40

标签: ios objective-c uiviewcontroller

对于我的应用程序,我需要用户输入一个数字,所以为了防止他们不输入数字我创建了一个if / else语句,如果他们没有填写,会向用户显示错误消息字段,如果他们填写数字,则移动到应用程序的主视图。唯一的问题是,每当它试图运行代码以显示下一个屏幕时,我都会崩溃。

- (IBAction)budgetButton:(id)sender
{
    myBudget = [self.budgetTextField.text floatValue];
    NSLog(@"myBudget = %.2f", myBudget);
    if (myBudget == 0)
    {
        self.whatsYourBudgetLabel.text = [NSString stringWithFormat:(@"You must enter a budget!")];
    }
    else
    {
        ViewController * nextView = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
        self.view.window.rootViewController = nextView;
    }
}

1 个答案:

答案 0 :(得分:0)

您移动到下一个视图的代码搞砸了。 看看performSegueWithIdentifier:sender:方法。

您不应该更改窗口的根目录。将UINavigationController放入您的窗口,将整个视图层次结构放在那里,并使用默认的segue机制进行导航。