有没有一种简单的方法可以允许与位于另一个UIView下的UIView中的按钮交互-其中按钮上方没有来自顶部UIView的实际对象?

例如,此刻我有一个UIVIEW(A),上面有一个对象,在屏幕的底部有一个对象,中间没有任何东西.这位于另一个UIVIEW的顶部,中间有按钮(B).然而,我似乎不能与B中的按钮交互.

我可以看到B中的按钮-我已经将A的背景设置为clearColor-但是B中的按钮似乎没有被touch ,尽管实际上在这些按钮的顶部没有来自A的对象.

EDIT-我仍然希望能够与顶部UI视图中的对象交互

当然有一种简单的方法可以做到这一点?

推荐答案

您应该为俯视图创建一个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:method.

Ios相关问答推荐

如何在将EXPO更新到50.0后修复react 本机错误

如何通过S定义的对象设置删除基于块的观察者的测试?

SwiftUI绑定到特定的一个或多个枚举 case

SWIFT用户界面检测手势的开始和结束

Xcode 15模拟器用x86_64编译

var name: String 时 print(nil) 和 print(name) 的区别? = 无

VStack 显示错误实例方法 'sheet(item:onDismiss:content:)' 要求 'Int' 符合 'Identifiable'

视图之间的 SwiftUI 过渡,没有过渡

如何仅更改一个视图的导航标题 colored颜色 ?

将角半径仅应用于 Swiftui 中按钮的两个角

包装在 AnyView 中时 UIViewControllerRepresentable 无法正常工作

在 Swift 中为 UITextField/UIView 摇动动画

将图像保存到 Documents 目录并检索邮箱附件

Xcode 6 App Store 提交失败并显示您的帐户已经拥有有效的 iOS 分发证书

如何使用 Swift 从assets资源 中加载特定图像

在 Swift 中禁用向后滑动手势

在滚动视图中使用动态大小的控制器调整容器视图的大小

如何动态计算 UILabel 高度?

什么是强属性属性

打开 XIB 文件后 Xcode 6.3 冻结/挂起