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