2012-05-16 2 views
8

У меня есть пользовательский UIView, который я разместил с помощью Xcode (4). Мне нужно установить какое-то состояние по умолчанию, основанное на фактических границах представления. Во время awakeFromNib границы, кажется, возвращают размер представления в раскладке в Xcode.Границы пользовательского UIView не правильны во время awakeFromNib - когда они установлены?

Вид находится на стороне детали UISplitViewController, который в Xcode является размером с полноэкранным iPad-экраном, но если приложение загружается в альбомном режиме, то через пружины и стойки его размер изменяется, но это происходит после awakeFromNib.

Должен ли я настраивать это состояние каким-либо другим способом?

ответ

0

Ответ был, вероятно, ищет, или, по крайней мере, решение, которое я использовал, чтобы обеспечить публичный метод в UIView называться родительским UIViewController в viewWillAppear:

1

Это зависит от того, какое состояние вы устанавливаете - если оно зависит от границ, то вам нужно будет сбросить его каждый раз, когда устройство будет повернуто, предположительно? В этом случае переопределение setFrame: может быть лучшей ставкой - обязательно вызовите реализацию суперкласса, прежде чем делать что-либо еще.

+0

Я пытаюсь настроить " разумные "значения по умолчанию, и то, что разумно, зависит от размера и формы экрана. Это только первая вещь, потому что после этого будет запоминаться. – Jono