У меня очень странная ошибка в моем проекте. У меня есть UIScrollView
как мой основной, большой взгляд. Внутри него у меня есть UIViewController
(не UITableViewController
), который имеет переменную экземпляра UITableView
, а также некоторые разные UIButtons
. Я установил рамку представления контроллера вида CGRectMake(0, 64, 320, 388)
, так как над ним есть панель вкладок (пока это еще не работает). Сначала он отлично работает и отлично выглядит, но как только я представляю и увольняю modalViewController
(таким образом, перезагружая UIViewController
, я полагаю), он подталкивает представление UIViewController
в начало экрана (по умолчанию он устанавливает CGRectMake(0, 0, 320, 460)
, но поскольку я установил wantsFullScreenLayout
в NO
, он теперь устанавливает его в CGRectMake(0, 0, 320, 388)
.
Я проследил эту проблему где-то между viewWillAppear
и viewDidAppear
. Вот мои точные журналы после отклонения modalViewController
:
2011-05-06 11: 08: 39.974 Кампус [1570: 207] Рама 0.000000, 64.000000, 320.000000, 388.000000 (viewWillAppear)
2011-05-06 11: 08: 40.378 Кампус [1570: 207] Рама 0.000000, 0.000000, 320.000000, 388.000000 (viewDidAppear)
Как вы можете видеть, кадр отлично в viewWillAppear
, но не в viewDidAppear
.
Я попытался исправить следующее:
- Установите нужный кадр в loadView
, viewDidLoad
, viewWillAppear
и viewDidAppear
.
- Установите для меня wantsFullScreenLayout
значение NO
.
- Убиты мои вызовы [super viewWillAppear:]
и [super viewDidAppear:]
в моем переопределении метода.
Что мне делать?!?!?