我试图以编程方式在屏幕上找到UILabel占用的高度/空间,其行数根据不同的设备和字符串内化而增加或减少 . 所以我尝试通过以下方法获得UILable的高度 .
uiLable.bounds.size.height/ uilable.frames.size.height
此方法在 viewDidAppear 和 viewDidLoad 方法中实现 . 在这两种方法中,返回的高度在所有设备上都是相同的,并且当行数增加/减少时 . 请找到我所拥有的UI的屏幕截图 . 我必须将开关按钮对齐到两个文本的中心(记住所有 Session ,并且可以在设置中更改这些 Session ) .
任何帮助,将不胜感激 . 提前致谢
3 回答
不要试图这样做 . 你没有理由想知道它 .
然后将其与自动布局对齐 . 这正是它的用途 . 让运行时为您解决问题 . 如果不使用自动布局来处理这类事情,您无法成功实现国际化 .
您可以将标签放在单个视图中并设置autolayout,因为verticalCenter视图等于切换按钮的垂直中心 .
更新标签中的文本后,您可以强制布局系统更新其UI,然后获取标签的正确边界 .