2009-07-21 73 views
0

我有一个类需要询问用户一个问题,并等待用户响应以确定下一个操作。什么是最好的方法来做到这一点?使用委托?怎么样?我有一个UITextField和一个UITextField。提示和委托问题

感谢

回答

1

这一切都取决于您希望用户如何提交数据。用户最友好的方式就是按TahoeWolverine解释并实施- (BOOL)textFieldShouldReturn:(UITextField *)textFieldUITextFieldDelegate。为了使用它,实现textFieldShouldReturn:的类在其接口声明中必须具有<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]]; 
    } 
} 

希望有所帮助。

+0

是的,我实际上在另一个应用程序中使用了textFieldShouldReturn,非常棒的建议。 – Xcoder 2009-07-22 14:14:45

0

是的,你应该使用一个委托,并链接到键盘的完成按钮(我假设你正在呈现用户键盘)。只需将您的委托关联到键盘的返回键,那应该可以做到。