UITextField 自定义清除按钮

我正在尝试使用自定义清除按钮上的解决方案在文本字段中实现自定义清除按钮

它不起作用,它显示默认的清除按钮。知道为什么吗?以下是我的代码:

class CustomTextField: UITextField {

    override init(frame: CGRect) {
        super.init(frame: frame)

        let clearButton = UIButton(frame: CGRect(x: 0, y: 0, width: 16, height: 16))
        clearButton.setImage(UIImage(named: "Glyph/16x16/Clear")!, for: [])

        self.rightView = clearButton
        clearButton.addTarget(self, action: #selector(clearClicked), for: .touchUpInside)

        self.clearButtonMode = .never
        self.rightViewMode = .whileEditing
    }

    @objc override func clearClicked(sender:UIButton)
    {
        self.text = ""
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
}
达雷纳伦7

如前所述,在您的代码中,该clearClicked方法不应覆盖,因为 UITextField 没有clearClicked可覆盖方法。

无论如何,我更新了代码以在将其与故事板一起使用时起作用。添加了awakeFromNib调用初始化代码方法。

class CustomTextField: UITextField {

    override open func awakeFromNib() {
        super.awakeFromNib()
        self.initialize()
    }

    override init(frame: CGRect) {
        super.init(frame: frame)
        self.initialize()
    }

    func initialize() {
        let clearButton = UIButton(frame: CGRect(x: 0, y: 0, width: 16, height: 16))
        clearButton.setImage(UIImage(named: "Glyph/16x16/Clear")!, for: [])

        self.rightView = clearButton
        clearButton.addTarget(self, action: #selector(clearClicked), for: .touchUpInside)

        self.clearButtonMode = .never
        self.rightViewMode = .whileEditing
    }

    @objc func clearClicked(sender:UIButton)
    {
        self.text = ""
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

UITextField secureTextEntry项目符号带有自定义字体?

来自分类Dev

MvvmCross UITextField自定义绑定

来自分类Dev

UITextField自定义图释(图标)

来自分类Dev

自定义UITableViewCell中的UITextField-键盘不关闭

来自分类Dev

具有自定义插座的iOS自定义UITextField

来自分类Dev

UITextField清除按钮与屏幕动画配合使用

来自分类Dev

如何自定义borderWidth的所有UITextField外观?

来自分类Dev

如何更改UITextField上的清除按钮的颜色

来自分类Dev

如何自定义UITextField的数字输入?

来自分类Dev

自定义清除按钮

来自分类Dev

自定义UITextField,不带参数的init

来自分类Dev

具有UITextField的自定义键盘扩展

来自分类Dev

自定义UITextField清除按钮颜色为白色

来自分类Dev

使用UITextField自定义UIScrollView自动滚动

来自分类Dev

在自定义UITextField类中调用委托方法

来自分类Dev

MvvmCross UITextField自定义绑定

来自分类Dev

UITextField自定义图释(图标)

来自分类Dev

自定义UITableViewCell中的UITextField-键盘不关闭

来自分类Dev

UITextField清除按钮与屏幕动画配合使用

来自分类Dev

按下按钮时未清除UITextField

来自分类Dev

自定义UITextField的SelectedTextColor

来自分类Dev

使用CALayer创建UITextField的自定义类

来自分类Dev

自定义UITextField,不带参数的init

来自分类Dev

UITextField的自定义输入视图的WindowLevel

来自分类Dev

使用自定义样式在Swift中创建UITextField扩展

来自分类Dev

使用由按钮组成的自定义键盘将文本附加到UITextField

来自分类Dev

Swift中的UITextField自定义下划线

来自分类Dev

如何自定义uitextfield外观

来自分类Dev

自定义 UITableViewCell 中的 UITextField 意外发现 nil

Related 相关文章

热门标签

归档