仅在文本字段正确时才推送到新视图控制器

时间:2012-04-02 03:32:31

标签: ios uiviewcontroller uinavigationcontroller

目前使用Xcode 4.2,我有两个视图控制器(1和2)。我在viewcontroller1中有许多文本字段需要在用户能够点击" Next"之前填写。按钮然后转到viewcontroller2。如果用户没有填写所有文本字段,我会弹出alertdialogs。

我已经使用故事板来点击按钮点击工作正常,除非文本字段为空,我的alertdialog会弹出但视图控制器仍会更改为数字2。

我如何制作它以便只有满足我的if / else语句时,下一个按钮才会转到下一个视图控制器。

我正在使用导航控制器来控制视图控制器。

我尝试将以下代码放入if / else语句,但它没有工作:

UIViewController *secondViewController = [[SecondViewControllerClass alloc] initWithNibName:@"<name of xib>" bundle:nil];
[self presentModalViewController:secondViewController animated:YES];

现在有一些我不确定的事情,试图找出如何使用这种方法。我是否需要在firstviewcontroller.m的顶部导入SecondViewController.m?

2 个答案:

答案 0 :(得分:0)

NSString有一个名为length的有用属性,如果文本字段不包含文本,则返回nil。如果您需要检查,请致电:

if (!myTextField.text.length) { 
    //no text in the box
}

答案 1 :(得分:0)

很简单,因为如果文本框输入有问题,您已经设置了弹出警告框,请确保警告框show / init代码位于更改视图的代码之前并执行此操作:

if(//something is wrong with the textbox input)
{
    UIAlertView* alert = [[UIAlertView alloc] initWith...
    [alert show];

    //Add a return! If the method is not IBAction or void, just return nil
    return;
}

瞧!