使子视图位于中心或距顶部一定的高度

时间:2018-12-22 20:47:42

标签: ios swift gmsmapview

@IBOutlet weak var viewmap: GMSMapView!

我在自己的vc中有一个名为viewmap的mapview。一个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 :(得分:0)

您无法设置视图的各个框架属性,并且center应该拼写为center。这是extension,可让您放置视图的各个值。

使用扩展名,可以编写上面的示例:

mapInfoWindow.centerY = firstview.centerY - 80