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

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

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

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

23.04.2015, 13:55. Просмотров 618. Ответов 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 (Программирование iOS):

Use Size Classes или Simulated Metrics? - Программирование iOS
Здравствуйте. Подскажите, в чем разница. С новым Xcode 6 вышла такая функция, как Size Classes, так вот если отключить ее, то есть...

UIView с PageController - Программирование iOS
Здравствуйте! Может кто подсказать в чем проблема, хочу сделать UIView с PageController(чтобы на одной вьюшке было 7 экранов) Делаю по...

Анимация UIView - Программирование iOS
Есть 3 view, которые лежат друг на друге вот так: |------------------| | 1 | | |-------------| | | | 2 ...

UIBezierPath vs UIView - Программирование iOS
Всем доброго времени суток! Мне нужен ваш совет по поводу отрисовки в UIVIew. У меня следующая ситуация: Есть мой кастомный класс...

Прижать UIView к низу - Программирование iOS
Подскажите как в коде прижать UIView к низу родительской вьюшки?

Рекурсивное создание UIView - Программирование iOS
Здравствуйте! Подскажите как сделать рекурсивное создание 15 UIView, каждая новая view должна располагаться поверх предыдущей. Спасибо!

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
23.04.2015, 19:02 #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Потому что UIView не изменила свой размер еще. А инициализация ее в -initWithCoder: происходит всегда по той информации, которая в nib файле есть.
Обратите внимание на метод -viewDidLayoutSubviews контроллера.

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

P.S. Более того, используя SizeClasses вы не должны работать напрямую с размерами UIView. Используйте UILayoutConstraints...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2015, 19:02
Привет! Вот еще темы с ответами:

Constraints и размер UIView - Программирование iOS
У меня, допустим, есть UIView добавленная на родительскую View и к ней применены space constraints со всех четырех сторон, то есть она...

Изменить содержимое UIView сдвигом - Программирование iOS
Добрый день. Проблема в следующем: в методе viewDidLoad основного ViewController-а создаётся объект типа myView:UIView //...

Добавить два UITextView в UIView программно - Swift
Привет! Не могу сообразить как добавить два UITextView в UIView программно что бы эти две текстовые вьюхи расположились равномерно...

Вращение UIView по типу часовой стрелки - Программирование iOS
Всем доброго времени суток, собственно есть задача иммитировать часы, избараздив просторы интернета и IOS Documentation, у меня получилось...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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