У меня есть UIViewController с .xib, имеющим 2 UILables с именами "LblA" и "LblB".Давайте назовем этот ViewController «A».Границы или расположение LblA и LblB зависят от свойств @, называемых lblABounds и lblBBounds соответственно.Если значения lblABounds и lblBounds не установлены, lblA и lblB располагаются в границах по умолчанию, поскольку они размещаются с использованием Interface Builder в .xib.Новые границы, полученные из lblABounds и lblBBounds для lblA и lblB, устанавливаются в функции ViewDidLoad ().
Существует еще один UIViewController (давайте назовем его «B»), который загружает «A».Сначала вызывается инициализация «А» для получения объекта.Затем, используя этот объект, он устанавливает значения lblABounds и lblBBounds.А затем просто анимирует и загружает ViewConroller, добавляя его как подпредставление «B».Все отлично работает, кроме ...
глюк:
B оживляет и переворачивает, чтобы показать A. Но пока он переворачивается, для взгляда, lblA и lblBрасположены по умолчанию, но как только анимация заканчивается, они просто poof перемещаются в местоположение, заданное значениями lblABounds и lblBounds.
Предполагаемая причина этого сбоя:
Поскольку позиции lblA и lblB, полученные из значений lblABounds и lblBBounds, задаются в ViewDidLoad.Таким образом, в то время как это анимация, представление фактически не было загружено, и ViewDidLoad не был вызван так, для краткого обзора lblA и lblB расположены в местоположении по умолчанию.Как только представление выполнено с анимацией и вызван ViewDidLoad, lblA и lblB исчезают - появляются из местоположения по умолчанию в местоположение, заданное значениями lblABounds и lblBBounds.
Исправления, которые у меня естьпытался, но не работал
- Установка новых границ lblA и lblB в init ().Ничего не происходит: S Ни один из кодов не выполняется.
... Пожалуйста, помогите.Надеюсь, я хорошо объяснил.