【问题标题】:Swift UIGestureRecognizer is not working / is not doing anythingSwift UIGestureRecognizer 不工作/不做任何事情
【发布时间】:2023-03-08 20:00:01
【问题描述】:



我有一个小问题,我现在几个小时都无法解决!我有一个带有标签的简单 ViewController,它链接到我的 ViewController 类。我还设置了一个 UIGestureRecognizer 以在单击标签时更改标签的文本。但奇怪的是什么都没有发生。

标签的文本从 Storyboard 中设置的任何内容更改为“Hello”,因此设置正确。但是当我点击标签时,什么也没有发生。

这是整个 ViewController 类:

import UIKit

class PremiumViewController: UIViewController {

    // Views
    @IBOutlet weak var premiumLabel: UILabel!
    
    // View Did Load
    override func viewDidLoad() {
        super.viewDidLoad()
        
        premiumLabel.text = "Hello"

        // Tap listener
        let tap = UIGestureRecognizer(target: self, action: #selector(PremiumViewController.clicked))
        premiumLabel.isUserInteractionEnabled = true
        premiumLabel.addGestureRecognizer(tap)
    }
    
    @objc func clicked() {
        premiumLabel.text = "You clicked me"
    }

}

【问题讨论】:

  • 你的标签在stackview里面吗?
  • 不,它只是一个限制在左上角的标签。

标签: ios swift xcode uigesturerecognizer


【解决方案1】:

使用UITapGestureRecognizer 而不是UIGestureRecognizer

改变

let tap = UIGestureRecognizer(target: self, action: #selector(PremiumViewController.clicked))

let tap = UITapGestureRecognizer(target: self, action: #selector(PremiumViewController.clicked))

【讨论】:

    猜你喜欢
    • 2022-10-19
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多