如何从 - (void)touchesEnded:withEvent: 获取 UITouch 位置的 UIView 对象?
Posted
技术标签:
【中文标题】如何从 - (void)touchesEnded:withEvent: 获取 UITouch 位置的 UIView 对象?【英文标题】:How to get the UIView object at the location of UITouch from - (void)touchesEnded:withEvent:? 【发布时间】:2016-08-30 09:53:49 【问题描述】:我想在触摸被抬起的位置(离开屏幕)获取对象。
这将用于实现拖放,我有这些方法用于覆盖:
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event;
在 touchesEnded:withEvent: 中使用 [[touches anyObject] view]
为我提供了我第一次触摸的 UIView 对象,但不是我释放触摸的位置。
使用[[touches anyObject] locationInView:self.view]
确实给了我释放触摸的位置,但我必须将坐标映射到 UIView。
【问题讨论】:
这可能会有所帮助:http://***.com/questions/16328875/how-to-find-out-what-view-a-touch-event-ended-at @Ronak Chaniyara 啊。谢谢你。我在任何地方都找不到它;我想我只是在谷歌上搜索了错误的单词。 你修好了!@David 【参考方案1】:这个问题的答案是在另一个措辞不同的问题中回答的。
@Ronak Chaniyara 回答:https://***.com/a/16329436/3920809
【讨论】:
以上是关于如何从 - (void)touchesEnded:withEvent: 获取 UITouch 位置的 UIView 对象?的主要内容,如果未能解决你的问题,请参考以下文章
UIScrollView 和 touchesBegan / touchesEnded 等
如何使用 touchesBegan 和 touchesEnded 检测点击手势