ios - 如何在运行时知道 UIComponent 的宽度?

标签 ios swift storyboard width uicomponents

我有一个 UIComponent,它是一个简单的 View (我缩小了问题范围)。 这是 xib 和类:

enter image description here

然后我把这个组件放在 Storyboard的一个 View 中,设置它的约束:

enter image description here

所以通常情况下,红色矩形的宽度值会根据设备宽度而有所不同。

图形上就是这种情况,组件会正确调整自身大小,但是当我调用函数打印其宽度时,无论启动应用程序的设备如何,结果始终相同。

实际上,该值始终是 Storyboard中组件的实际宽度。

这太奇怪了。 有没有办法知道 UIComponent 的实际宽度?

帮助将不胜感激:)

最佳答案

在设置约束之后但在尝试获取其宽度之前,您应该在 View 上使用 layoutIfNeeded()。激活时未立即应用约束

(抱歉有 2 个答案 ^^ 它们太不同了)

关于ios - 如何在运行时知道 UIComponent 的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41574380/

相关文章:

ios - 尝试使用 Xcode 构建应用程序时出现 React-native 错误

ios - 如何在 Swift 中编辑或更新文本字段内的文本?

ios - 如何防止按钮在 Xcode 中拉伸(stretch)

ios - iOS 中硬编码 View 框架的替代方案是什么

ios - 将原生 iOS 应用程序的数据迁移到 React Native 应用程序的异步存储

ios - 在后台线程上初始化 NSManagedObjectContext 和 NSPersistentStoreCoordinator

iOS 11 - 无法访问 UIBarButton 的 UIView

ios - 首次启动/已登录 Storyboard View Controllers Swift

ios - 如何在不同的方向上改变 View

ios - Storyboard已经对系统征税;将 Nib 用于孤立 View 有什么缺点吗?