• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Swift-触摸事件响应机制(UiView事件传递)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

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")

    }

}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TheSwiftProgrammingLanguage-官方教程精译Swift(2)基础知识发布时间:2022-07-13
下一篇:
Swift学习笔记三发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap