对于我的应用程序,我需要用户输入一个数字,所以为了防止他们不输入数字我创建了一个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;
}
}
答案 0 :(得分:0)
您移动到下一个视图的代码搞砸了。
看看performSegueWithIdentifier:sender:
方法。
您不应该更改窗口的根目录。将UINavigationController放入您的窗口,将整个视图层次结构放在那里,并使用默认的segue机制进行导航。