Swift uses the Touchesbegan method to obtain a user-clicked view, simulating a continuous click effect

Source: Internet
Author: User

var MV:uiview!

override func viewdidload () {

Super. Viewdidload()

MV = UIView (frame: cgrect (x: +, y: + , Width: + , Height: )) /c12>

MV. BackgroundColor = uicolor. Red

Self . view. Addsubview (mV)

}

var flag = false

override Func Touchesbegan (_ Touches: set<uitouch>, with event: uievent?) {

For touch:anyobject in touches{

Method One

//Get user-clicked coordinates

var point = (touch as Anyobject). Location (In:self.view)

The point coordinates of the user's click, from Self.view.layer to MV.View.layer.

Point = Self.mV.layer.convert (point, From:self.view.layer)

Print ("point\ (point)")

//

Let Point2 = Self.mV.layer.convert (point, To:self.view.layer)

Print ("point2\ (Point2)")

//

if Self.mV.layer.contains (point) {

print (1)

//            }

//Method two

//Get user-clicked coordinates

var point = (Touch as anyobject). location at: Self. View)

Returns the farthest descendant of the View.layer that contains point in the layer hierarchy, that is, gets the layer of the view to which the user clicked

Let layer = view. Layer. hitTest (point)

if layer = = MV. layer{

//Simulate online click Effect

Let t:Uitouch = Touch as! uitouch

Let i = T.tapcount

if T.tapcount >= 2{

flag = true

}

if flag{

print (i)

}

}

}

flag = false

}

Swift uses the Touchesbegan method to obtain a user-clicked view, simulating a continuous click effect

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.