我必须通过扩展名在文本字段的右侧添加一个按钮
代码是---
import UIKit
@IBDesignable class TxtFieldCustom: UITextField {
@IBInspectable var rightButtonImage: UIImage?
{
didSet
{
updateRightView()
}
}
func updateRightView()
{
//for right Image
if let image = rightButtonImage
{
let button = UIButton(type: .custom)
button.setImage(image, for: .normal)
button.imageEdgeInsets = UIEdgeInsetsMake(0, -16, 0, 0)
button.frame = CGRect(x: 0, y: 0, width: 29, height: 29)
rightView = button
rightViewMode = .always
} else
{
rightViewMode = UITextFieldViewMode.never
rightView = nil
}
}
按钮显示为屏幕截图,但我很困惑如何为该按钮设置操作。我无法在扩展文件中设置它,因为我对不同的文本字段有不同的操作...
最佳答案
您可以为按钮设置一个目标,当该操作被调用时,您应该像这样发布一个通知:
NotificationCenter.default.post(name: NSNotification.Name.init("buttonPressed"), object: nil)
然后在您的 ViewController 中,您可以添加一个观察者并实现不同的操作。 使用多个 UITextField,您可以通过通知传递 userData。
关于swift - 向按钮添加操作,该按钮通过快速扩展添加到文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46810860/