如何从我的主View Controller访问UIView中的let语句?

时间:2018-02-08 23:26:10

标签: ios swift uiview viewcontroller uitapgesturerecognizer

在我的主ViewController的viewdidload中,我创建了一个let语句,因此我可以启用tap功能。

override func viewDidLoad() {
    super.viewDidLoad()

    let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.tap(_:)))
    self.view.addGestureRecognizer(tapRecognizer) }

在另一个视图中,我想禁用这个let语句:

tapRecognizer.isenabled = false

在不使用segue的情况下从我的主ViewController访问'tapRecognizer'最简单的方法是什么,因为第二个视图是UIView所以我认为我不能以这种方式访问​​它。

1 个答案:

答案 0 :(得分:0)

声明tapRecognizer实例变量,以便可以在任何方法中访问,或者在视图控制器之外可以访问

var tapRecognizer:UITapGestureRecognizer!
override func viewDidLoad() {
   super.viewDidLoad()

   tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.tap(_:)))
   self.view.addGestureRecognizer(tapRecognizer) 
 }