获取 uitextfield 中更改的文本

发布于 2024-09-07 21:24:23 字数 132 浏览 5 评论 0原文

当用户按任意键时,我需要从文本字段获取文本。我正在尝试使用通知 UITextFieldTextDidChangeNotification 来获取文本,但无法成功。如何在更改时从 texfield 获取文本?我在 uitableview 中有文本字段。

I need to get text from a textfield when user presses any key. I am trying to use notification UITextFieldTextDidChangeNotification to get the text but not able to succeed. How to get the text from texfield on change? I have the textfields inside a uitableview.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜清冷一曲。 2024-09-14 21:24:25

您可以

- (void)textFieldDidBeginEditing:(UITextField *)textField

在他们开始编辑时使用,或者

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

在每次按下键盘上的键时使用,或者

- (void)textFieldDidEndEditing:(UITextField *)textField

在 textviews 第一响应者辞职时使用。

您可以在填充表格视图时通过分配标签来跟踪各个文本字段,然后您就会知道哪个文本字段正在更改。

you could use

- (void)textFieldDidBeginEditing:(UITextField *)textField

for when they start editing, or this

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

for every time they hit a key on the keyboard, or

- (void)textFieldDidEndEditing:(UITextField *)textField

for when the textviews first responder is resigned.

You can keep track of individual textfields by assigning tags when you populate the tableview, then you will know which text field is being changed.

谜兔 2024-09-14 21:24:24

最简单的方法是使用 AtomRiots 答案。毕竟,从文本字段中获取文本就是文本字段委托的用途。您可以为界面中的每个文本字段(甚至表格中的文本字段)设置不同的委托对象。

如果由于某种原因您想要一个任意对象来处理文本更改,您将注册该对象(自身)以获取通知。

如果您想侦听所有文本字段中的所有 UITextFieldTextDidChangeNotification:

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

如果您想侦听特定字段的所有通知

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(handleTextDidChange:)
                                             name:UITextFieldTextDidChangeNotification
                                           object:aPointerToATextFieldObj];

The easiest means is to use AtomRiots answer. After all, getting the text out of textfield is what the text field delegate is for. You can set a different delegate object for each textfield in you interface even those in tables.

If for some reason you wanted an arbitrary object to handle the text change you would register the object (self) for a the notification.

If you want to listen for all UITextFieldTextDidChangeNotification from all text fields:

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

If you want to listen for all notifications for a particular field

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(handleTextDidChange:)
                                             name:UITextFieldTextDidChangeNotification
                                           object:aPointerToATextFieldObj];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文