栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在动画UIView上点击手势不起作用

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在动画UIView上点击手势不起作用

使用Tapgesture后,您将无法完成自己的工作,原因有1个。手势与标签的框架相关联。开始动画时,标签的最后一帧立即更改,而您只是在观看假电影(动画)。如果您能够触摸屏幕上的(0,900),它将在发生动画时照常触发。不过,有一种方法可以使此方法有所不同。最好的办法是使用touchesBegan。这是我刚刚编写的用于检验理论的扩展,但可以进行扩展以适合您的需求,例如,您可以使用实际的子类并访问标签属性而无需循环。

extension UIViewController{public override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {    guard let touch = touches.first else{return}    let touchLocation = touch.locationInView(self.view)    for subs in self.view.subviews{        guard let ourLabel = subs as? UILabel else{return}        print(ourLabel.layer.presentationLayer())        if ourLabel.layer.presentationLayer()!.hitTest(touchLocation) != nil{ print("Touching") UIView.animateWithDuration(0.4, animations: {     self.view.backgroundColor = UIColor.redColor()     }, completion: {         finished in         UIView.animateWithDuration(0.4, animations: {  self.view.backgroundColor = UIColor.whiteColor()  }, completion: {      finished in         })     }) }        }    }}

您可以看到它正在测试CALayer.presentationLayer()的坐标。这就是我所说的电影。老实说,我还没有完全围绕表示层及其工作原理进行研究。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/378910.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号