【问题标题】:How to add LongPressGestureRecognizer into disabled TextField如何将 LongPressGestureRecognizer 添加到禁用的 TextField
【发布时间】:2017-07-29 11:54:10
【问题描述】:

我有 isEnabled = false 的 TextField,

现在我正在尝试添加UILongPressGestureRecognizer

在 UITableViewCell 内部:

override func awakeFromNib() {
    super.awakeFromNib()
    let tap = UILongPressGestureRecognizer(target: userNameTextField, action: #selector(userNamelongPressAction))
    self.addGestureRecognizer(tap)
}

但是我崩溃了

'NSInvalidArgumentException',原因:'-[UITextField userNamelongPressAction]: 无法识别的选择器发送到实例

我能做什么? 谢谢

【问题讨论】:

    标签: ios swift uitextfield uitapgesturerecognizer


    【解决方案1】:

    这是一个常见的错误,您错误地将目标添加到UITextField,而您必须将目标设置为您实现方法userNamelongPressAction的位置

    此代码假设您已在此类上下文中实现userNamelongPressAction 方法

    override func awakeFromNib() {
        super.awakeFromNib()
        let tap = UILongPressGestureRecognizer(target: self, action: #selector(userNamelongPressAction))
        self.addGestureRecognizer(tap)
    }
    

    希望有帮助

    【讨论】:

    • 但这会将孔tableview单元格设置为目标,所以我应该继承UITextView并在那里实现这个方法?
    • 你在哪里实现了 userNamelongPressAction?
    • UITableViewCell 内
    • 您正在将您的手势添加到您的 TableViewCell 以再次显示您的 UITextField?所以你的 TableViewCell 必须是目标,因为你的 UITextField 是一个子视图,我认为我的回答对你的要求很好,不能正常工作?
    • 不,因为我的单元格中有不止一个 UITextView,我需要为每一个设置单独的操作..
    猜你喜欢
    • 1970-01-01
    • 2015-12-26
    • 2016-01-19
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 2022-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多