【发布时间】:2015-09-17 04:34:30
【问题描述】:
其实我正在谷歌地图中实现一个自定义信息窗口, 我用这行添加它:
//MARK: GMSMapViewDelegate
func mapView(mapView: GMSMapView!, markerInfoWindow marker: GMSMarker!) -> UIView! {
let infoView : SpMapInfoWindowView = SpMapInfoWindowView.loadFromNibNamed("SpMapInfoWindowView") as! SpMapInfoWindowView;
infoView.lblLocationName.text = LONG_TEXT;
return infoView;
}
我的 xib 布局设置如下: 自动布局部分:
如果文本变长,我希望信息窗口的高度会增加。 我已经尝试了很多约束的优先级,但 UILabel 的高度无法更改。
我错过了什么?
2015-07-02 编辑
在尝试了很多优先级和抗压缩性之后,标签会调整大小,而不是超级视图
【问题讨论】:
-
您是否尝试为标签设置所需的垂直压缩阻力?也不需要对齐中心 Y,因为您已经有顶部和底部约束
-
为此您需要计算标签文本的大小,根据计算出的大小,您需要更改 customView 的框架,然后在您的 customView 上调用 layoutIfNeeded,就是这样。
-
@HitendraHckr,我不会通过编程来做到这一点,我认为如果我设置正确,自动布局会处理它。它适用于单元格的高度。
-
@Sega-Zero,我没有尝试过,一旦我尝试过,我会编辑问题。
-
尝试移除高度约束并将行数设置为零
标签: ios swift autolayout