UIView touch event in controller

前端 未结 11 1822
梦毁少年i
梦毁少年i 2020-12-02 06:26

How can I add UIView touchbegin action or touchend action programmatically as Xcode is not providing from Main.storyboard?

11条回答
  •  误落风尘
    2020-12-02 07:13

    You will have to add it through code. Try this:

        // 1.create UIView programmetically
        var myView = UIView(frame: CGRectMake(100, 100, 100, 100))
        // 2.add myView to UIView hierarchy
        self.view.addSubview(myView) 
        // 3. add action to myView
        let gesture = UITapGestureRecognizer(target: self, action: "someAction:")
        // or for swift 2 +
        let gestureSwift2AndHigher = UITapGestureRecognizer(target: self, action:  #selector (self.someAction (_:)))
        self.myView.addGestureRecognizer(gesture)
    
        func someAction(sender:UITapGestureRecognizer){     
           // do other task
        }
    
        // or for Swift 3
        func someAction(_ sender:UITapGestureRecognizer){     
           // do other task
        }
    
        // or for Swift 4
        @objc func someAction(_ sender:UITapGestureRecognizer){     
           // do other task
        }
    
        // update for Swift UI
    
        Text("Tap me!")
            .tapAction {
                 print("Tapped!")
            }
    

提交回复
热议问题