У меня действительно странная ошибка в моем проекте. У меня есть 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:]
звонки в переопределениях моего метода.
Что мне делать?!?!?