objective-c - 允许与另一个 UIView 下的 UIView 交互

是否有一种简单的方法允许与位于另一个 UIView 下的 UIView 中的按钮进行交互 - 按钮顶部的顶部 UIView 中没有实际对象?

例如,目前我有一个 UIView (A),顶部有一个对象,屏幕底部有一个对象,中间什么都没有。它位于另一个 UIView 的顶部,中间有按钮 (B)。但是,我似乎无法与 B 中间的按钮进行交互。

我可以看到 B 中的按钮 - 我已将 A 的背景设置为 clearColor - 但 B 中的按钮似乎没有收到触摸,尽管实际上在这些按钮之上没有来自 A 的对象。

编辑 - 我仍然希望能够与顶部 UIView 中的对象进行交互

肯定有一种简单的方法可以做到这一点?

最佳答案

您应该为您的顶 View 创建一个 UIView 子类并覆盖以下方法:

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
    // UIView will be "transparent" for touch events if we return NO
    return (point.y < MIDDLE_Y1 || point.y > MIDDLE_Y2);
}

你也可以看看 hitTest:event: 方法。

https://stackoverflow.com/questions/1694529/

相关文章:

ios - 以编程方式获取导航栏的高度

objective-c - NSLog 覆盖描述方法中对象的内存地址

objective-c - 取消排队的 performSelector :afterDelay ca

ios - 如何自定义分组表格 View 单元格的背景/边框颜色?

ios - 如何在 iOS 7 下更改 UIPickerView 中文本的颜色?

iphone - cocoa 应用程序的 info plist 中的 "bundle display

objective-c - 在什么情况下,我们需要在 ARC 下编写 __autoreleasing

objective-c - "Auto Layout still required after ex

objective-c - 在objective-c中获取NSURL的一部分

iphone - 如何在 UITableView beginUpdates/endUpdates 上