Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
#1

Size Classes и свойства frame/bounds у UIView

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

Всем привет!

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

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

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

Может есть у кого-то идеи, почему такой фокус может происходить?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2015, 13:55
Ответы с готовыми решениями:

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

UIView с PageController
Здравствуйте! Может кто подсказать в чем проблема, хочу сделать UIView с...

UIBezierPath vs UIView
Всем доброго времени суток! Мне нужен ваш совет по поводу отрисовки в UIVIew. ...

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

Рекурсивное создание UIView
Здравствуйте! Подскажите как сделать рекурсивное создание 15 UIView, каждая...

1
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
23.04.2015, 19:02 #2
Лучший ответ Сообщение было отмечено kievkao как решение

Решение

Потому что UIView не изменила свой размер еще. А инициализация ее в -initWithCoder: происходит всегда по той информации, которая в nib файле есть.
Обратите внимание на метод -viewDidLayoutSubviews контроллера.

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

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

Constraints и размер UIView
У меня, допустим, есть UIView добавленная на родительскую View и к ней...

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

Изменить содержимое UIView сдвигом
Добрый день. Проблема в следующем: в методе viewDidLoad основного...


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

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

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