gpt4 book ai didi

ios - 将点击事件从 UIView 转发到内部 TextField

转载 作者:行者123 更新时间:2023-11-30 12:18:35 28 4
gpt4 key购买 nike

我有一个包含 TextField 的 xib UIView。我希望我的 TextField 在父 UIView 被触摸时获得焦点。使用 Swift 3+ 执行此操作的更新正确方法是什么?是否可以完全通过 Storyboard来完成此操作? (我目前使用的是 Xcode 9 beta,但欢迎使用早期的解决方案)

这是我的代码:

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)
}

}

最佳答案

首先,在您的 viewDidLoad 中添加一个手势识别器来检测 View 上的点击操作。 View 应放置在文本字段的顶部

let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(viewTapped))
view.isUserInteractionEnabled = true
view.addGestureRecognizer(tapGestureRecognizer)

然后,每当您的 View 被点击时,将焦点分配给文本字段

func viewTapped()
{
self.textField.becomeFirstResponder()
}

关于ios - 将点击事件从 UIView 转发到内部 TextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45093239/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com