【问题标题】:UIImageView not showing on top of MKMapViewUIImageView 未显示在 MKMapView 之上
【发布时间】:2014-07-20 14:36:17
【问题描述】:

在 IB 中,我在 MKMapView 顶部添加了一个 UIImageView(它横跨底部标签栏上方的整个屏幕)。 UIImageView 应代表地图图例。

我为 UIImageView 创建了一个 IBOutlet,并在我的 mapViewController 的 .m 文件中合成了它。我正在使用以下代码行以编程方式设置图像:

[legend setImage:[UIImage imageNamed:@"maplegend.png"]]; 

我希望这张图片一直出现在 MKMapView 的右下角。

但是当我运行我的项目时没有显示图像。

请指导。

【问题讨论】:

    标签: ios ios7 uiimageview uiimage mapkit


    【解决方案1】:

    我曾经遇到过同样的问题。我通过将视图彼此相邻而不是在视图层次结构中彼此重叠来解决它。

    视图层次结构将如下所示

    • containerView (UIView)
      • mapView (MKMapView)
      • myBanner (UIImageView)

    (在这种情况下为containerView.subviews == @[mapView, myBanner])

    myBanner 仍然可以与 mapView 重叠,因为索引较高的视图将被放置在索引较低的视图之上。

    这行不通:

    • containerView (UIView)
      • myBanner (UIImageView)
      • mapView (MKMapView)

    我不是 100% 确定,但我认为 MKMapView 存在问题:它只是不希望您在其上放置子视图。

    如果您还希望您的图例可点击(即不接受触摸事件),则必须为containerView 创建自己的UIView 子类并覆盖-hitTest:withEvent: 方法...

    【讨论】:

    • 啊!我正在做与您建议的相同的事情,但图像被底部的标签栏隐藏了。你的答案是正确的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    • 2014-06-07
    • 2012-02-21
    相关资源
    最近更新 更多