我正在使用Mapbox SDK(SWIFT)并创建了自定义地图。我在情节提要中的地图上添加了按钮和图像,但是当我运行该应用程序时,它似乎隐藏在后面。我尝试了所有操作,包括view.bringSubview(toFront:UIimage)
,但无法将此功能与UIButton一起使用。我什至尝试将地图发送到backView,但是它弄乱了我的自定义地图,但仍然看不到我的图像或按钮。请帮忙!谢谢。
答案 0 :(得分:1)
您需要将其置于视图顶部
Self.mapview.bringSubview(button)
答案 1 :(得分:1)
请检查下图,确保您的“视图”层次结构(紧随其后的按钮)应位于层次结构的最后
这是我的输出
或者如果您在视图内部有按钮,则可以将其设置为前面的
Self.view.bringSubviewToFront(按钮) 要么 button.superview?.bringSubviewToFront(button)
确保您的按钮未在情节提要中隐藏,并且当您的应用运行时,请捕获用户界面并检查情节提要的层。
答案 2 :(得分:0)
您还可以使用以下方法控制子视图的可见性:
mapview.layer.zPosition = 1
button.layer.zPosition = 2
image.layer.zPosition = 2
您可以单击debug导航器-> View UI层次结构以直观地了解如何对视图进行分层。
答案 3 :(得分:0)
我无法更改地图视图的视图层次结构,因此我采用了另一种方法。
我使用let mapView = MGLMapView(...)
在viewDidLoad函数中创建了地图视图,然后使用代码view.addSubview(mapView)
使我的地图视图可见。我必须同样使按钮可见。
首先,我将IBOutlet插入到ViewController类中
@IBOutlet weak var MyButton: UIButton!
引用了我放置在情节提要中的mapView上方的按钮。 然后,我通过添加
将按钮添加到视图中view.addSubview(MyButton)
在添加我的mapView之后。