iOS:响应者辞职时,文本从子类 UITextfield 中消失
Posted
技术标签:
【中文标题】iOS:响应者辞职时,文本从子类 UITextfield 中消失【英文标题】:iOS: Text disappearing from subclassed UITextfield when responder resigns 【发布时间】:2017-02-10 13:56:06 【问题描述】:我遇到的问题是我输入到 UITextField 中的文本在它被辞去第一响应者时消失。当您再次点击文本字段时,文本会重新出现。 UITextField 子类除了稍微圆角之外什么都没有。我将在以后添加更多内容。有没有人遇到过这样的问题?
这是我的代码。就像我说的,除了圆角之外,这个子类中没有任何东西。稍后我将添加代码以向文本字段添加填充。
代码
import UIKit
class EVTextField: UITextField
override func layoutSubviews()
layer.cornerRadius = 2.0
逐步复制指南
-
点击 UITextField。
输入文字。
关闭键盘或点击下一个 UITextField。
以前退出的 UItextField 中的文本似乎消失了。
视频示例
【问题讨论】:
我可以看到文本保留在那里,但可能是它的文本颜色在对 uitextfield 进行了编辑后? @Aragunz 不,颜色仍然是黑色,我在调试视图层次结构时检查过 显示文本域委托代码?大家可以看懂 在上图中,当你切换文本字段时,它看起来像 TEst 和 yyyy 吗? @Aragunz 是的,当我切换回文本字段时,文本会重新出现,这很好。但是当我辞去该文本字段的响应者时它消失了 【参考方案1】:发现问题了,在我的 UITextFields 转角时我忘记打电话给super.layoutSubviews()
。愚蠢的错误。
【讨论】:
【参考方案2】:请试试这个:
if (self.emailTextField.isFirstResponder)
[self.emailTextField resignFirstResponder];
if (self.passwordTextField.isFirstResponder)
[self.passwordTextField resignFirstResponder];
【讨论】:
在 texfield 上确实开始编辑或类似的东西,包含字段的类上的代表。以上是关于iOS:响应者辞职时,文本从子类 UITextfield 中消失的主要内容,如果未能解决你的问题,请参考以下文章
UITextField,辞职第一响应者时,导致文本的奇怪动画滚动
使用 UINavigationController 时在 didSelectRowAtIndexPath 中辞职第一响应者