Сделайте подпредставление в центре или на некоторой высоте сверху - PullRequest
0 голосов
/ 22 декабря 2018

@IBOutlet weak var viewmap: GMSMapView!

У меня есть один вид карты в моем виртуальном канале, который называется viewmap.И один uiview называется mapInfoWindow.Теперь, когда пользователь нажимает на любой значок моей карты, эти конкретные данные будут отображаться в этом mapInfoWindow.Теперь позиция немного сверху, где мой mapInfoWindow скрывает мою панель поиска.

Мне нужно сделать бит позиции снизу от моего верха. Вот код:

func mapView(_ mapView: GMSMapView!, markerInfoWindow marker: GMSMarker!) -> UIView!
    {
        print("markerInfoWindow called!!!")
        let firstview = UIView.init(frame: CGRect(x: 0, y: 0, width: 275, height: 195))
        self.mapInfoWindow = Bundle.main.loadNibNamed("CustomInfoWindow", owner: self, options: nil)?[0] as! CustomInfoWindow

        self.mapInfoWindow.ClickForMore.text = "click_here_for_more".localized
        marker.tracksInfoWindowChanges = true

// data for fetching details
     self.mapInfoWindow.bgview.layer.shadowColor = UIColor.black.cgColor
        self.mapInfoWindow.bgview.layer.shadowOpacity = 0.4
        self.mapInfoWindow.bgview.layer.shadowOffset = CGSize.zero
        self.mapInfoWindow.bgview.layer.shadowRadius = 2
        self.mapInfoWindow.bgview.backgroundColor = UIColor.clear


        firstview.addSubview(self.mapInfoWindow)

        return firstview
    }

Как мне этого добиться.Я пытался дать y значение, но не работает. Есть идеи?

Также пытался:

mapInfoWindow.center.y = firstview.center.y - 80 - не работает

Заранее спасибо

1 Ответ

0 голосов
/ 23 декабря 2018

Вы не можете установить свойства отдельного фрейма вида, и центр должен быть записан как центр.Вот расширение , которое позволяет вам позиционировать отдельные значения представления.

Используя расширение, приведенный выше пример, можно записать:

mapInfoWindow.centerY = firstview.centerY - 80

...