【问题标题】:iOS: Text disappearing from subclassed UITextfield when responder resignsiOS:响应者辞职时,文本从子类 UITextfield 中消失
【发布时间】:2017-02-10 13:56:06
【问题描述】:

我遇到的问题是我输入到 UITextField 中的文本在它被辞去第一响应者时消失。当您再次点击文本字段时,文本会重新出现。 UITextField 子类除了稍微圆角之外什么都没有。我将在以后添加更多内容。有没有人遇到过这样的问题?

这是我的代码。就像我说的,除了圆角之外,这个子类中没有任何东西。稍后我将添加代码以向文本字段添加填充。

代码

import UIKit

class EVTextField: UITextField
{
  override func layoutSubviews()
  {
    layer.cornerRadius = 2.0
  }
}

逐步复制指南

  1. 点击 UITextField。
  2. 输入文字。
  3. 关闭键盘或点击下一个 UITextField。
  4. 以前退出的 UItextField 中的文本似乎消失了。

视频示例

【问题讨论】:

  • 我可以看到文本保留在那里,但可能是它的文本颜色在对 uitextfield 进行了编辑后?
  • @Aragunz 不,颜色仍然是黑色,我在调试视图层次结构时检查过
  • 显示文本域委托代码?大家可以看懂
  • 在上图中,当你切换文本字段时,它看起来像 TEst 和 yyyy 吗?
  • @Aragunz 是的,当我切换回文本字段时,文本会重新出现,这很好。但是当我辞去该文本字段的响应者时它消失了

标签: ios swift ipad uitextfield


【解决方案1】:

发现问题了,在我的 UITextFields 转角时我忘记打电话给super.layoutSubviews()。愚蠢的错误。

【讨论】:

    【解决方案2】:

    请试试这个:

    if (self.emailTextField.isFirstResponder) {
        [self.emailTextField resignFirstResponder];
    }
    
    if (self.passwordTextField.isFirstResponder) {
        [self.passwordTextField resignFirstResponder];
    }
    

    【讨论】:

    • 在 texfield 上确实开始编辑或类似的东西,包含字段的类上的代表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多