ios - 动态调整 xib 大小

标签 ios swift google-maps swift3

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

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

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

View 如下

enter image description here

问题是如何/在哪里调整 xib 的高度,使其随着内标签尺寸的增加而增加?

最佳答案

答案取决于。您使用自动布局吗?
如果您正在使用它,可能您正在设置一些约束(将其添加为 subview 之后),这些约束会阻止 View 的增长。
当您使用 AL 时, View 的大小取决于其固有内容的大小,该大小可能会因您使用的 View 类型而异。
在行数设置为 0 且最大首选设置为固定数字的标签中,标签将设置其固有内容大小以显示所有内容。
如果此标签设置为将 4 个约束固定到其 super View ,则标签将插入 super View 大小,保持约束有效。
如果您不使用自动布局,则应调用 -sizeToFit 对所有元素进行手动计算高度并调整容器 View 框架。

关于ios - 动态调整 xib 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42692939/

相关文章:

ios - UIAlertController addAction 不起作用

ios - 将 json 文件读入 CoreData 时出现精度错误

ios - Cocoapods 谷歌分析 ld : framework not found Pods

swift - 如何在 Swift 中制作没有相交的多边形

ios - 使用未解析的标识符 GMSPlacePickerConfig 和 GooglePlacePicker 时出错? (谷歌地方信息 2.0)

ios - NSHTMLTextDocumentType 未显示在分页 VC 的属性 TextView 中

ios - 如何在不使用 Cocoa Pods 的情况下添加或读取 Google 日历事件 iOS [Swift]

iphone - 当项目开始播放时振动 AVQueuePlayer

ios - UISwipeGestureRecognizer 抛出无法识别的选择器发送错误

google-maps - 谷歌地图 - 仅通过 URL 的多个标记