我必须通过扩展名
在文本字段的右侧添加一个按钮代码是---
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
}
}
按钮显示截图,但我很困惑如何设置该按钮的操作。我无法在扩展文件中设置它,因为我对不同的文本字段有不同的操作...
答案 0 :(得分:0)
您可以为按钮设置目标,并且在调用该操作时,您应该发布如下通知:
NotificationCenter.default.post(name: NSNotification.Name.init("buttonPressed"), object: nil)
然后在ViewController中添加观察者并实现不同的操作。 使用多个UITextField,您可以使用Notification传递userData。