Вид застрял позади MapView

Я перепробовал все, чтобы мой вид отображался поверх вида карты (см. Код ниже), но он все равно не будет отображаться. Я не знаю что делать. Это mapView на 0,5 альфа

segmentedControl = DPSegmentedControl.init(
            FrameWithoutIcon: CGRectMake(307.5, 566, 235, 37.5),
            items: ["Standard", "Satellite", "Hybrid"],
            backgroundColor: UIColor(red: 230/255, green: 230/255, blue: 230/255, alpha: 1),
            thumbColor: UIColor.init(hex: "#B60002"),
            textColor: UIColor(hex: "#808080"),
            selectedTextColor: UIColor(hex: "#FFFFFF"))
        segmentedControl.alpha = 0

        segmentedControl.selectedIndex = 0

        segmentedControl.addTarget(self, action: #selector(self.tapSegment(_:)), forControlEvents: .ValueChanged)
        self.view.insertSubview(self.segmentedControl, belowSubview: self.hoverBar)
        UIApplication.sharedApplication().keyWindow!.bringSubviewToFront(self.segmentedControl)
        UIApplication.sharedApplication().keyWindow!.sendSubviewToBack(self.mapView)

Когда я использую положение z, появляется вид, но он не допускает никаких сенсорных действий (это пользовательский сегментированный элемент управления).

self.segmentedControl.layer.zPosition = self.mapView.layer.zPosition + 1

1 ответ

Решение

Вы пробовали любой из них?

self.view.bringSubviewToFront(self.segmentedControl)
self.view.sendSubviewToBack(self.mapView)

или же

self.segmentedControl?.superview.bringSubviewToFront(self.segmentedControl)
self.mapView?.superview.sendSubviewToBack(self.mapView)
Другие вопросы по тегам