Ich habe eine Xib UIView
, die eine TextField
enthält. Ich möchte, dass mein TextField
den Fokus erhält, wenn die Eltern-UIView berührt wird. Was ist der aktualisierte richtige Weg, dies zu tun mit Swift 3+? Und ist es möglich, dies vollständig vom Storyboard aus zu tun? (Ich bin zur Zeit auf Xcode 9 Beta, aber früher Lösung sind willkommen)Weiterleiten eines Tippereignisses von einer UIView an eine innere TextField
Hier ist mein Code:
import UIKit
@IBDesignable
open class MinimalEditView: UIView, UITextFieldDelegate {
@IBOutlet var textField: UITextField!
@IBInspectable
public var cornerRadius: CGFloat = 2.0 {
didSet {
self.layer.cornerRadius = self.cornerRadius
}
}
@IBInspectable
public var borderWidth: CGFloat = 2.0 {
didSet {
self.layer.borderWidth = self.borderWidth
}
}
@IBInspectable
public var borderColor: UIColor = UIColor.intactBeigeLight {
didSet {
self.layer.borderColor = self.borderColor.cgColor
}
}
public func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
self.textField.becomeFirstResponder()
return true
}
public override init(frame: CGRect) {
super.init(frame: frame)
}
public required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
}
Ich kann nicht viewDidLoad außer Kraft setzen, da es nicht ein Viewcontroller ist, ist es ein xib – Jaythaking
@Jaythaking Sicher, setzen Sie ihn dann nach oben in Ihrem 'wakeFromXib' –
TextField kommt als Null und es stürzt ab ... aber es ist gut verbunden mit der Steckdose: '(Was mache ich falsch? – Jaythaking