我的 iOS 7 应用程序有一个 UIViewController,上面有一个 UIMapView。它还有一个带有 UIButton 的小视图,当用户将地图拖到当前搜索区域之外时,它会显示在地图上。当它显示时,用户可以点击该按钮以搜索当前地图中心周围的更多 POI。
我在 iAd Suite 示例代码中使用 Apple 的 BannerViewController,因此我可以在多个视图中显示一个广告横幅。这需要我将视图控制器嵌入容器中,以便 BannerViewController 可以显示/隐藏广告。现在,当显示带有按钮的小视图时,触摸按钮不会像以前那样触发 Touch Up Inside 事件。
我正在使用 Interface Builder 并检查了视图层次结构中的所有视图,并且它们都启用了用户交互。以下是 IB 中的视图层次结构:
我知道这可能是我没有想到的愚蠢的事情,但我已经看得太久了,需要一些帮助。
提前致谢。
更新#1:
我从小视图中删除了 UIButton 并用点击手势识别器替换它,但仍然没有。看来视图本身没有得到任何触摸事件。
更新#2:
使用bringSubviewToFront 将按钮放在前面并没有帮助。
更新#3:
下面是容器视图控制器的子视图列表:
<__NSArrayM 0x17c74ea0>(
<MKMapView: 0x15ddfe40; frame = (0 0; 320 367); clipsToBounds = YES; autoresize = TM+BM; layer = <CALayer: 0x15de1e90>>,
<UIView: 0x17c00030; frame = (0 317; 320 50); alpha = 0; autoresize = TM+BM; layer = <CALayer: 0x15d42dc0>>,
<_UILayoutGuide: 0x17c000f0; frame = (0 0; 0 0); hidden = YES; layer = <CALayer: 0x17c75400>>,
<_UILayoutGuide: 0x17c00160; frame = (0 0; 0 0); hidden = YES; layer = <CALayer: 0x17c751d0>>
)