У меня точно такая же проблема, и @jstevenco привел меня к действительно странному решению. Мои взгляды также автоматическое изменение размеров на вращение, но TableView, кажется, не понимаю, что это navigationcontroller сидит:
В tableviewcontroller, добавьте следующее:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
[super didRotateFromInterfaceOrientation:fromInterfaceOrientation];
CGRect frame = navBar.frame;
if (fromInterfaceOrientation == UIInterfaceOrientationPortrait || fromInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {
frame.size.height = 31.9;
} else {
frame.size.height = 44.1;
}
navBar.frame = frame;
}
31,9 и 44,1 очень важно странно! Оставляя их 32 и 44, нет никакого изменения размера, поэтому он, кажется, игнорирует его. Работал для меня, надеюсь, что это поможет кому-то другому.
Спасибо. К сожалению, в моем случае навигационная панель правильно меняет высоту. Кажется, что показанное представление теряет все знания навигационной панели при вращении, поэтому верхняя часть ее появляется под навигационной панелью. Когда другое изображение выдвигается, а затем появляется, проблематичное представление перераспределяется правильно. Я попробовал setNeedsLayout, но безуспешно. – Oscar
решил для меня, отличная работа –
Это сработало отлично. –