【问题标题】:How to detect which view is touched?如何检测触摸了哪个视图?
【发布时间】:2013-05-30 01:52:12
【问题描述】:

假设我有一个按钮,每次单击它都会生成随机数量的子视图。有没有办法检测到被触摸的子视图?

【问题讨论】:

  • 我已经知道有一种方法可以将所有生成的视图添加到一个数组中并遍历该数组以获取触摸的视图。但是,我不知道是否有更好的解决方案。

标签: cocoa-touch touch layoutsubviews


【解决方案1】:

您可以利用 touchesBegan 方法并使用传递的 UITouch 实例的 view 属性:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch *touch = [touches anyObject];
    //use touch.view property to get the subview touched
}

记得在您的每个子视图中将属性 userInteractionEnabled 设置为 YES。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-18
    • 1970-01-01
    相关资源
    最近更新 更多