【发布时间】:2018-12-07 18:38:29
【问题描述】:
我正在尝试使用Custom Clear Button 上的解决方案在文本字段中实现自定义清除按钮
它不起作用,它显示默认清除按钮。知道为什么吗?以下是我的代码:
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)
}
}
【问题讨论】:
-
为什么要覆盖 clearClicked 方法?
-
尝试将名称更改为其他名称或删除覆盖。
-
没有线索,我只是从我在问题中提到的链接中提供的解决方案中复制了代码。我要删除它吗?
-
我怀疑是图片问题
clearButton.setImage(UIImage(named: "clear")!, for.normal) -
你粘贴错了,因为它的父类中不存在 clearClicked 方法。只是重命名它。或者更好的方法是扩展 uitextview。
标签: ios swift uitextfield swift4