点击标签转到下一页

时间:2015-10-30 06:51:26

标签: swift

当我之前创建一个按钮时,它有能力成为一个"动作" IBA功能..

如何用标签创建相同的东西?所以当我点击标签时,我的应用程序将指向新页面。 (如何将其指向新页面?我是否必须创建一个全新的视图并以某种方式将其链接到该页面)

请记住,我是一个全新的快速并且已经开始使用我的程序了,但它是来自几个教程的部分,因此我可能很难在第一次理解你的答案。

2 个答案:

答案 0 :(得分:12)

您可以使用UITapGestureRecognizer,以下是您的简单示例:

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        let label = UILabel(frame: CGRectMake(0, 0, 200, 21))
        label.center = CGPointMake(160, 284)
        label.textAlignment = NSTextAlignment.Center
        label.userInteractionEnabled = true
        label.text = "I'am a test label"
        self.view.addSubview(label)

        let gestureRecognizer = UITapGestureRecognizer(target: self, action: "handleTap:")
        label.addGestureRecognizer(gestureRecognizer)
    }

    func handleTap(gestureRecognizer: UIGestureRecognizer) {
        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let vc = storyboard.instantiateViewControllerWithIdentifier("next")
        self.presentViewController(vc, animated: true, completion: nil)
    }
}

结果:

enter image description here

项目sample了解更多信息。

答案 1 :(得分:2)

Swift 3

1-确保您已在属性检查器中选中了“已启用用户交互”。

2-代码:

       let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(YourVC.labelTapped))
       yourLabel.addGestureRecognizer(gestureRecognizer)

3-使用func:

    func labelTapped() {
    print("labelTapped tapped")
}