Как получить обратный вызов для автоматического разметки устройства в Swift/iOS?
Я хочу разместить несколько кнопок / изображений в моем UIView после того, как автоматическая верстка завершила макет для устройства, на котором выполняется приложение. Например, в раскадровке у меня установлен размер экрана iPhone 7. Но после того, как авто-макет завершен для устройства (скажем, iPad), я хочу разместить несколько UIImagesView
(Ы). Я планировал использовать viewDidLayoutSubviews
, но кажется, что он вызывается после каждого макета, т.е. когда выполнение моего приложения достигает этого конкретного UIViewController
, первый viewDidLayoutSubviews
вызывается для экрана размером с iPhone 7, а затем настраивает все элементы раскадровки для текущего размера устройства (с помощью автоматического макета для iPad) и viewDidLayoutSubviews
называется второй раз после. Теперь это проблема для меня, потому что расположение нарисованных мной изображений зависит от расположения некоторых элементов из раскадровки. По сути, я рисую свои изображения дважды (один раз, учитывая размер iPhone 7, и второй раз, учитывая размер устройства). Я хочу только последнее. Есть ли способ узнать, когда произошло автоматическое расположение для текущего размера устройства?