【发布时间】:2014-10-10 21:06:18
【问题描述】:
如何正确使用 [textfield becomeFirstResponder] 。在这里,如果三个字段为空,我想将我的第一个文本字段设置为第一响应者,如果第一个和第三个字段为空,我想将第二个文本字段设置为焦点。我怎样才能有效地做到这一点。
这是我的代码
BOOL validName = [self validateUserField:mUsername];
BOOL validEmail = [self validateEmail:mEmail];
BOOL validPhone = [self validateUserField:mPhone];
NSString *errLbl = [NSString stringWithFormat:@"Followings error occured %@",@""];
if (!validName) {
errLbl = [errLbl stringByAppendingFormat:@"%@",@"\n* valid name required"];
[self.uErrorLabel setText:errLbl];
}
if (!validEmail) {
errLbl = [errLbl stringByAppendingFormat:@"%@",@"\n* valid email required"];
[self.uErrorLabel setText:errLbl];
[self.uEmail becomeFirstResponder];
}
if (!validPhone) {
errLbl = [errLbl stringByAppendingFormat:@"%@",@"\n* valid phone required"];
[self.uErrorLabel setText:errLbl];
[self.uPhone becomeFirstResponder];
}
if (!validName || !validEmail || !validPhone ) {
if (!validName) {
[self.uName becomeFirstResponder];
}
if (!validEmail) {
[self.uEmail becomeFirstResponder];
}
if (!validPhone) {
[self.uPhone becomeFirstResponder];
}
if(!validName && !validEmail && !validPhone){
if(!validName && !validEmail){
[self.uName becomeFirstResponder];
}
if(!validEmail && !validPhone){
[self.uEmail becomeFirstResponder];
}
if(!validName && !validPhone){
[self.uName becomeFirstResponder];
}
}
return;
}
【问题讨论】: