我有一个类需要向用户询问问题并等待用户响应以确定下一个操作。最好的方法是什么?使用代表?怎么样?我在类中有一个UITextField和一个UITextField。
由于
答案 0 :(得分:1)
这完全取决于您希望用户提交数据的方式。最友好的用户方式是TahoeWolverine解释并实施- (BOOL)textFieldShouldReturn:(UITextField *)textField
中的UITextFieldDelegate
。为了使用它,实现textFieldShouldReturn:
的类必须在其接口声明中具有<UITextFieldDelegate>
协议;此外,有问题的文本字段必须将UITextFieldDelegate
- 实现类设置为其委托。在大多数情况下,这些看起来像这样:
@interface SomeViewController : UIViewController <UITextFieldDelegate> {
UITextField *myField;
}
@property (nonatomic, retain) IBOutlet UITextField *myfield
@end
以及实施中的某个地方:
[[self myField] setDelegate:self];
最后,实施UITextFieldDelegate
协议:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
if (textField == [self myField]) {
[self doSomethingWithText:[[self myField] text]];
}
}
希望有所帮助。
答案 1 :(得分:0)
是的,您应该使用委托,并将其链接到键盘的完成按钮(我假设您向用户呈现键盘)。只需将您的代理链接到键盘的返回键,这应该可以解决问题。