2011-08-19 34 views
3

我想检查一个文本框的值是否有效,如果没有,弹出一个警告框。这里是我的代码:如何在警告框显示时使键盘保持停留状态?

- (IBAction) done: (id) sender{ 
    if (!test) { 
     UIAlertView *alert = [[UIAlertView alloc]init....]; 
     [alert show]; 
     [alert release]; 
     [textfield becomeFirstResponder]; 
    } 
    else{ 
     [sender resignFirstResponder]; 
     //doing stuff; 
    } 
} 

目前的警告框工作正常,但是当我关闭该警告框,焦点不会回去,我指定的文本字段。任何想法,我做错了?

回答

4

您可以实现UIAlertView中的-alertView:didDismissWithButtonIndex:委托方法,被称为每当警报视图被驳回:

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex { 
    [textField becomeFirstResponder]; 
} 
+1

没错。如果您有多个文本字段,则可以使用UITextFieldDelegate来记录哪一个当前“持球”,并且应该设置为firstResponder。 –

+0

谢谢,但我怎样才能引用这种方法?当我初始化警报对象时,我设置了委托=自我,我需要做一些改变吗?或者只是把这个方法放在同一个文件中,每次点击取消按钮它都会被调用? – Michael

+0

是的,'alertView.delegate = self'就足以做到这一点。然后,您将此方法插入到同一个文件中。 – akashivskyy

相关问题