在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
import UIKit class FatherView: UIView { override func hitTest(point: CGPoint, withEvent event: UIEvent?) -> UIView? { print("Detect Touch Event") if (self.hidden == false) && (alpha > 0) { for subview in subviews { if CGRectContainsPoint(subview.frame, point) { if subview.isKindOfClass(ChildView1) { print("view 1") return subview } if subview.isKindOfClass(ChildView2) { print("view 2") return subview } } } } return nil } }
import UIKit class ChildView1: UIView {}
import UIKit class ChildView2: UIView {}
import UIKit
class ViewController: UIViewController {
let father = FatherView() let child1 = ChildView1() let child2 = ChildView2() let child3 = ChildView2()
override func viewDidLoad() { super.viewDidLoad()
father.frame = CGRectMake(0, 0, 100, 100) child1.frame = CGRectMake(20, 20, 20, 20) child2.frame = CGRectMake(120, 120, 120, 120) child3.frame = CGRectMake(200, 200, 120, 120)
// father.clipsToBounds = true father.backgroundColor = UIColor.grayColor() child1.backgroundColor = UIColor.redColor() child2.backgroundColor = UIColor.blueColor() child3.backgroundColor = UIColor.greenColor()
view.addSubview(father) father.addSubview(child1) father.addSubview(child2) father.addSubview(child3)
child1.addGestureRecognizer( UITapGestureRecognizer(target: self, action: #selector(touchTest1)))
child2.addGestureRecognizer( UITapGestureRecognizer(target: self, action: #selector(touchTest2)))
child3.addGestureRecognizer( UITapGestureRecognizer(target: self, action: #selector(touchTest3))) }
override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } func touchTest1() { print("test 1\n") } func touchTest2() { print("test 2\n") } func touchTest3() { print("test 3\n") } }
|
请发表评论