2

我想要在主视图控制器中创建的文本输入(UITextField)对用户的输入做出反应(特别是当他们点击键盘的“返回”键时),但我找不到任何方法来做到这一点。

我知道执行此操作的“通常”方法是在 Interface Builder 中创建控件并使用它将控件上的事件连接到公开的 IBAction 方法,但我想在没有 Interface Builder 的情况下执行此操作。

或者

我可以在 Interface Builder 中创建控件并使其事件正常连接,但是我如何从我的代码中获取对象来控制它(我只想能够隐藏/显示它并可能重新定位)?

我又找不到办法做到这一点

任何一条路线都适合我——我真的不在乎如何创建 UITextField。

TIA

迈克·皮特

4

2 回答 2

1

您需要为 TextField 设置一个委托。

textField.delegate = self;

委托具有某些对文本字段的操作做出反应的方法。

您可以使用委托方法对 UserInput 做出反应:

- (void)textFieldDidEndEditing:(UITextField *)textField

在按下 DoneKey(或您用来结束编辑的任何键)后调用它

希望这是您正在寻找的

于 2012-04-30T10:14:30.217 回答
1

您可以像这样向通知中心添加观察者:

[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(keyPressed:) name: UITextFieldTextDidChangeNotification object: nil];

并实现相应的方法:

-(void) keyPressed: (NSNotification*) notification
{
  NSLog([[notification object]text]);
}
于 2012-04-30T10:07:06.223 回答