动态调整xib大小

时间:2017-03-09 10:32:49

标签: ios swift google-maps swift3

我正在使用以下代码添加自定义标记窗口,并且工作正常。但是我无法根据子视图宽度动态设置高度宽度。

 func mapView(_ mapView: GMSMapView, markerInfoWindow marker: GMSMarker) -> UIView? {

        let customInfoWindow = Bundle.main.loadNibNamed("CustomMarker", owner: self, options: nil)?[0] as! CustomMarker
        return customInfoWindow
    }

视图如下

enter image description here

问题是如何/在何处调整xib的高度,以便随着内部标签尺寸的增加而增加?

1 个答案:

答案 0 :(得分:0)

答案取决于。你在使用汽车布局吗?
如果你正在使用它,也许你正在设置一些约束(在添加它作为子视图之后)阻止视图的增长 当您使用AL时,视图的大小是由于其内在的内容大小,此大小可能与您使用的视图类型不同。
在行数设置为0且最大首选设置为固定数字的标签中,标签将设置其内在内容大小以显示所有内容。
如果此标签设置为固定到其超级视图的4个约束,则标签将推送超视图大小,使约束保持有效。
如果您没有使用自动布局,则应调用-sizeToFit到所有元素,并手动计算高度并调整容器视图框。