【发布时间】:2015-03-07 23:56:44
【问题描述】:
我正在以编程方式在viewDidLoad 中创建UICollectionView,然后对其设置自动布局约束。我需要确切知道集合视图在向用户显示后的宽度,但我需要 viewDidLoad 中的信息(不能使用 willLayoutSubviews 等)。
如何强制进行布局,以便我可以保证宽度将更新为viewDidLoad 中的实际宽度?
//viewDidLoad:
let collectionView = //...
self.view.addSubview(collectionView)
//add constraints here
let wid = collectionView.frame.size.width //0
//viewDidAppear:
let wid = collectionView.frame.size.width //603
我曾尝试致电self.view.layoutSubviews(),但这并没有完全解决问题。它将 wid 更改为 720 而不是 0,但这是不正确的。
我在 Today 扩展中尝试这样做,这可能与传统的视图控制器不同。
【问题讨论】:
标签: ios swift ios-app-extension ios8-today-widget