UIImageView没有显示在MKMapView之上

时间:2014-07-20 14:36:18

标签: ios ios7 uiimageview uiimage mapkit

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

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

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

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

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

请指导。

1 个答案:

答案 0 :(得分:1)

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

视图层次结构将如下所示

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

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

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

这不起作用:

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

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

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