Форум программистов, компьютерный форум CyberForum.ru

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
#1

Size Classes и свойства frame/bounds у UIView - Программирование iOS

23.04.2015, 13:55. Просмотров 608. Ответов 1
Метки нет (Все метки)

Всем привет!

Решил в своем pet-проекте заюзать по-полной size classes, и столкнулся со следующей странностью:

Для anyW & anyH поставил размер вьюшки 400x400
Для compactW & regularH - 280х280

Запускаю на айфоне (в симуляторе), визуально отображается все правильно, но в самом подклассе вьюшки, в методе initWithCoder ее размер (self.frame, self.bounds) почему-то 400x400, как задано в sizeClass'е any&any, а не 280х280, как по факту отображается.
Из-за чего дальнейшая работа с вьюшкой становится некорректной, т.к. в методе initWithCoder на нее добавляются разные фичи, ориентируясь по размеру.

Может есть у кого-то идеи, почему такой фокус может происходить?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2015, 13:55     Size Classes и свойства frame/bounds у UIView
Посмотрите здесь:
Use Size Classes или Simulated Metrics?
UIBezierPath vs UIView
UIView с PageController
Анимация UIView
Constraints и размер UIView
Прижать UIView к низу
Рекурсивное создание UIView
Программное управление размерами UIView Objective-C
Изменить содержимое UIView сдвигом
Вращение UIView по типу часовой стрелки
Создание UIView внутри UIScrollView программно Objective-C
Добавить два UITextView в UIView программно Swift

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
23.04.2015, 19:02     Size Classes и свойства frame/bounds у UIView #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Потому что UIView не изменила свой размер еще. А инициализация ее в -initWithCoder: происходит всегда по той информации, которая в nib файле есть.
Обратите внимание на метод -viewDidLayoutSubviews контроллера.

В вашем случае корректный размер будет только в перегруженном методе -layoutSubviews.

P.S. Более того, используя SizeClasses вы не должны работать напрямую с размерами UIView. Используйте UILayoutConstraints...
Yandex
Объявления
23.04.2015, 19:02     Size Classes и свойства frame/bounds у UIView
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru