【发布时间】:2014-02-10 20:59:57
【问题描述】:
我已经搜索并看到了很多关于 textFieldShouldReturn 方法的答案。其中一半已经过时,有些在不同的情况下工作,有些没有得到彻底的解释。我不确定完成这项任务的最佳方法是什么,它确实有效,但我认为可能有更简单的方法。
到目前为止,这是我的代码:
关于头文件:
@interface ClassName : SomeUIViewController <UITextFieldDelegate>
在实现文件中:
@interface ClassName()
@property (weak, nonatomic) IBOutlet UITextField *firstOne;
@property (weak, nonatomic) IBOutlet UITextField *secondOne;
@property (weak, nonatomic) IBOutlet UITextField *thirdOne;
@property (weak, nonatomic) IBOutlet UITextField *fourthOne;
@property (weak, nonatomic) IBOutlet UITextField *fifthOne;
@end
-(void)viewDidLoad{
self.firstOne.delegate = self;
self.secondOne.delegate = self;
self.thirdOne.delegate = self;
self.fourthOne.delegate = self;
self.fifthOne.delegate = self;
}
-(BOOL)textFieldShouldReturn:(UITextField*)textField;
{
if (textField == self.firstOne) {
[textField resignFirstResponder];
[self.secondOne becomeFirstResponder];
} else if (textField == self.secondOne) {
[textField resignFirstResponder];
[self.thirdOne becomeFirstResponder];
} else if (textField == self.thirdOne) {
[textField resignFirstResponder];
[self.fourthOne becomeFirstResponder];
} else if (textField == self.fourthOne) {
[textField resignFirstResponder];
[self.fifthOne becomeFirstResponder];
} else if (textField == self.fifthOne) {
[textField resignFirstResponder];
}
return NO;
}
那么这是正确的还是有更好的方法来完成这项任务?
【问题讨论】:
-
如果您使用的是 IB(Interface Builder),您可以在此处设置委托,而不是在代码中。
-
看起来不错。我做过类似的事情,而且效果很好。
标签: ios xcode ios7 delegates uitextfield