self.view.frame/ границы UIViewController изменены между viewDidLoad и viewWillAppear iOS8

У меня действительно странная проблема с просмотром в приложении для iPhone.

У меня два UIViewController подклассы A а также B,

UIViewController класса B (Давайте назовем это b) вызывается из метода внутри UIViewController из A (a). Но когда b отображается рамка и границы "корневого" представления b магически изменилось между вызовами viewDidLoad а также viewWillAppear, Понятия не имею, почему это происходит. Насколько я знаю, все мои другие взгляды не имеют этой проблемы.

Это рамки и границы:

в viewDidLoad:

self.view.frame: {0, 0}, {375, 667}

self.view.bounds: {0, 0}, {375, 667}

в viewWillAppear::

self.view.frame: {0, 64}, {375, 554}

self.view.bounds: {0, 0}, {375, 554}

Я сделал скриншот, чтобы продемонстрировать проблему. Желтая область self.view из b, красные и зеленые являются подпредставлениями self.view, Они только для моего макета. Я не думаю, что они влияют на self.view рамка или границы.

У кого-нибудь есть идеи, что вызывает эту проблему?

UIViews в б

1 ответ

Решение

Хорошо, после нескольких часов (буквально!) Отладки я обнаружил свою ошибку: я забыл позвонить self = [super init]; в моем собственном методе инициализации. Это вызвало странное поведение.

Спасибо за ваши полезные комментарии!

Другие вопросы по тегам