其实我在谷歌地图中实现自定义信息窗口, 我用这句话添加它:
//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布局设置如下: 自动布局部分:
如果文字变长,我希望infowindow的高度会增加。 我已经尝试了很多限制因素。优先级,但UILabel的高度无法改变。
我想念什么?
在尝试了很多优先级和压缩阻力之后,标签会调整大小而不是超级视图
答案 0 :(得分:0)
将你的uilabel的numberOfLines
设置为0.(在IB - 'Lines'属性中)
另外,尝试以编程方式计算标签的高度
label.numberOfLines = 0
label.lineBreakMode = NSLineBreakMode.ByWordWrapping
label.font = font
label.text = text
label.sizeToFit()
然后将容器的大小设置为label.frame.height + your_margins