В viewDidLoad
функция моего UIViewController
Я звоню
print("\(UIScreen.main.bounds.size.width) \(collectionView.frame.width)")
и он печатает
320.0 375.0
Как этовозможный?UICollectionView
должен иметь такую же ширину, мб меньше, но определенно не больше
Настройки этого вида в раскадровке:
каждыйограничение установлено как
Так что я тестирую его на iPhone SE Simulator, но в раскадровке у меня iPhone 8.
Но я считаю, что это не должно иметь никакого значения, когда я использую автоматическое расположение (ограничения, чтобы размер моего представления соответствовал размерубезопасная зона)
Ширина iPhone 8 составляет 375 точек, а iPhone SE составляет 320:
Обновление
Кажется, viewDidLoad
возвращает размеры вашего последнего выбранного устройства в раскадровке (довольно некрасиво)
Так что, чтобы получить правильные данные о представлениях, я должен получить размеры в viewDidAppear
В Android, если размер какого-либо вида еще не доступен (вид еще не был завышен), он просто возвращает нули (ширина == 0, высота == 0), но в iOS вы получаете ширину и высоту из Xcode Storyboaво время выполнения ... Действительно?