如何使用双击更改textField的isEnabled属性的值?

问题描述 投票:-4回答:1

isEnabledtextField属性的默认值为false。当我双击textField时,isEnabled属性的值应为true,这样我就可以在其中写入任何内容

@IBOutlet var textField: UITextField! {
    didSet {
        textField.delegate = self
        textField.isEnabled = false
        textField.inputAssistantItem.leadingBarButtonGroups = []
        textField.inputAssistantItem.trailingBarButtonGroups = []

        let tap = UITapGestureRecognizer(target: self, action: #selector(tapHandler(_:)))
        tap.numberOfTapsRequired = 2
        textField.addGestureRecognizer(tap)
    }
}

@objc func tapHandler(_ recognizer: UITapGestureRecognizer) {
    switch recognizer.state {
    case .ended:
        textField.isEnabled = true
    default:
        break
    }
}

UITapGestureRecognizer没有回应textField,显然isEnabled价值仍然是假的。

ios swift uitextfield uitapgesturerecognizer
1个回答
-1
投票

谢谢!在UITableViewCell里面的textField,我给了父UITapGestureRecognizer,即UITableViewCell。

© www.soinside.com 2019 - 2024. All rights reserved.