ios - 不透明的 UIView 不允许我在它后面滚动 UIView

标签 ios iphone objective-c uiview mkmapview

我有一个如下所示的 View 层次结构。

buttonsView <-- 带有 1-3 个小按钮的 UIView MKMapView <-- 最底部的 View

当我的buttonsView显示时,如果用户没有触摸任何按钮,我仍然希望用户能够滚动MKMapView。

我尝试了 userInteractionEnabled = NO 的不同组合,但没有任何帮助。

最佳答案

你有几种方法可以解决这个问题:

  • 带有三个小按钮的顶 View 可以小得多,因此它只覆盖了三个小按钮所需的区域。通过这种方式,顶部 View 不会覆盖 map View ,您仍然可以滚动它。

  • 实现您自己的 hitTest/pointInside 函数让顶层 View 决定是否要捕捉事件(当您点击其中一个按钮)或者它决定将事件进一步发送到响应者链上(当用户点击其他任何东西时)。请参阅此处的示例以了解可能的方法:Allowing interaction with a UIView under another UIView

关于ios - 不透明的 UIView 不允许我在它后面滚动 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22612034/

相关文章:

iphone - 检测自定义按钮的 UIAppearance 代理中的更改

ios - 将 NSString 转换为其他 NSString

ios - 阻止 SKSpriteNode 离开 View (Swift)

ios - 无法获取 iphone 构建版本

ios - 如何使用图像获得扭曲的镜像效果?

ios - 在 ios 中的选项卡式应用程序中刷新 UIview

ios - HKWorkoutSession 中的心率数据是移动平均值吗?

ios - 从 tableView 获取 indexPath.row 到单元格

ios - 如何在 iOS 中设置闹钟?

c# - 如何使用 MonoTouch c# 以编程方式获取联系人?