
当前View里面有两个View,绿色的bigView和红色的smallView,smallView在bigView里面。现在让bigView执行一段移动动画,然后给bigView添加点击事件,发现点击事件无效。
因为 iOS动画中的View点击事件无效 。
原因是iOS里几乎所有的View动画是都基于layer实现的,frame在动画开始会直接变成终点状态。动画过程中bigView的frame不会变化,也不能接收点击事件。添加点击事件可以在bigView的父view也就是当前view中重写touchesBegan() 方法,判断点击位置在哪个view里面。
添加完touchesBegan(),会发现点击bigView动画这个方法并不会触发,原因是动画中的layer会屏蔽触摸事件。这时有两种方法(效果相同):
这样点击事件就会传递给当前view
接下来判断点击位置在哪个View里。
用 touch.location(in: self) 获取触摸点在当前view中的位置;用bigView.layer.presentation()?.frame可以获取动画中的layer的frame。
你可以先点击日历右上角的“+”即可在选中的日期中新建日程。然后在对应日期设置提醒,接着再选择重复以及提醒的频率和时间即可。你也可以在电脑自带的便签或备忘录中添加日程提醒,这样它也可以准时提醒你。或者你也可以在电脑上使用敬业签,因为它自带日历的功能,并且日历还可以按农历日期显示。同时敬业签除了支持公历日期提醒外,还能按照农历日期设置提醒,此外它还有自定义周期重复提醒的功能欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)