斯威夫特:最近点击过的视图?

时间:2017-01-31 16:01:43

标签: swift

是否有UIView的属性返回最近点击的(或可能是其他"手势")子视图?

我希望有一个计算属性currentPosition,它只是从最后点击的视图中获取position属性(我为UIView的子类定义的属性)。

现在我有一个可选的实例属性let clickedView = UIView?,在我的手势处理程序中我说clickedView = gestureRecognizer.view
然后我将计算出的实例属性声明为:
currentPosition: Position? { return clickedView?.position }但这会更简单,特别是不必每次都分配clickedView = gestureRecognizer.view

1 个答案:

答案 0 :(得分:0)

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

触摸事件

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

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

循环所有子视图

- >如果标记值为100,则表示最新视图