Swift 斯威夫特:最近点击查看?

Swift 斯威夫特:最近点击查看?,swift,Swift,UIView是否有返回最近单击(或可能以其他方式“手势”)子视图的属性 我想要一个计算属性currentPosition,它只需从上次单击的视图中获取position属性(我为UIView的子类定义的属性) 现在我有一个可选的实例属性让clickedView=UIView?,在手势处理程序中我说clickedView=GestureRecognitor.view 然后我将计算实例属性声明为: currentPosition:位置?{return clickedView?.position}但如果

UIView是否有返回最近单击(或可能以其他方式“手势”)子视图的属性

我想要一个计算属性
currentPosition
,它只需从上次单击的视图中获取
position
属性(我为UIView的子类定义的属性)


现在我有一个可选的实例属性
让clickedView=UIView?
,在手势处理程序中我说
clickedView=GestureRecognitor.view

然后我将计算实例属性声明为:

currentPosition:位置?{return clickedView?.position}
但如果这更简单,尤其是不必每次都分配
clickedView=gestureRecognitizer.view

您可以使用标记值。每当触摸事件发生时,循环所有子视图并将标记设置为零,并将新的触摸视图标记设置为某个值,如100

触摸事件

->将所有视图标记设置为零

->将最新视图标记设置为100

循环所有子视图


->如果标记值为100,这是最新的视图

“现在我有一个可选的实例属性”好吧,这是我的第一个想法。也许通过协议、委托或默认闭包,您可以将其放入您自己定制的手势识别器中,将其分配给您的实例属性,然后希望您没有任何其他依赖于标记值的过程!为什么不做你说不想做的事情,只更新clickedView属性呢?