为啥 uitextfield 在成为第一响应者时从不返回 nil?

Posted

技术标签:

【中文标题】为啥 uitextfield 在成为第一响应者时从不返回 nil?【英文标题】:why does the uitextfield never return nil when it becomes first responder?为什么 uitextfield 在成为第一响应者时从不返回 nil? 【发布时间】:2009-11-05 22:56:05 【问题描述】:

当我让我的文本字段成为第一响应者时,文本字段永远不会返回 nil,即使我通过 myTextField.text = nil; 强制它为 nil; 一旦我注释掉“[myTextField becomeFirstResponder];”文本字段能够返回 nil。有人知道为什么吗?

【问题讨论】:

【参考方案1】:

成为第一响应者会将保存您键入的文本的内部 NSString 初始化为空字符串:@"",因此不再为零。作为 firstResponder 是一个持久的操作,以便在用户开始输入时始终在其中有一个有效的 NSString。

【讨论】:

所以如果我想在文本字段成为第一响应者后获取它的默认值,它是否只是字面意思:@""? 我找到了另一种适合我的方法,我只使用 if([myTextField.text length] 您期望获得什么价值以及如何对其进行测试:将您的 if 语句放在问题中。

以上是关于为啥 uitextfield 在成为第一响应者时从不返回 nil?的主要内容,如果未能解决你的问题,请参考以下文章

UITextField 没有成为集合视图中的第一响应者

当 UITextField 成为第一响应者时禁用 UIScrollView 滚动

Swift:成为 UITextField 上的第一响应者不起作用?

Swift:成为UITextField上的第一响应者?

UITextField 不能成为 UITableView 中的第一响应者

如何在表格单元格中创建UITextField成为第一响应者?