Навигационная панель появляется над представлениями с новым iOS7 SDK

CGRect cgRect1 = [[UIScreen mainScreen] applicationFrame];


UISearchBar  *mySearchBar = [[UISearchBar alloc] 
               initWithFrame:CGRectMake(0, 0, cgRect.size.width, 40)];

mySearchBar.autoresizingMask = 
              UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight ;


UITableView  *myTableView = [[UITableView alloc] 
     initWithFrame:CGRectMake(0, 40, cgRect.size.width, cgRect.size.height-40)];

myTableView.autoresizingMask = 
               UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;


[self.view addSubview:mySearchBar];
[self.view addSubview:myTableView];

В более ранних версиях он работает правильно. Панель поиска появляется подstatusbar и панель навигации.tableview появляется под строкой поиска

Но когда я запускаю это наXcode 5 sdk iOS 7панель поиска не видна (я думаю, что она находится под строкой состояния и панелью навигации), а также панель навигации появляется над представлением таблицы.

Будет ли это исправленоiOS 7 стабильный релиз?

Или это проблема моего кодирования?

Или мы должны справиться с этим, добавив(y = statubar height + nav bar height) значение дляiOS 7 ?

Я недавно загрузил Xcode 5 DP для тестирования своих приложений в iOS 7. Первое, что я заметил и подтвердил, это то, что границы моего представления не всегда изменяются с учетом строки состояния и панели навигации.

В viewDidLayoutSubviews я печатаю границы представления:

{{0, 0}, {320, 568}}

В результате мой контент появляется под панелью навигации и строкой состояния.

Я знаю, что мог бы сам учесть высоту, получив высоту основного экрана, вычтя высоту строки состояния и высоту панели навигации, но это кажется ненужной дополнительной работой.

Кто-нибудь еще сталкивался с этой проблемой?

ОБНОВИТЬ:

Я нашел решение для этой конкретной проблемы. Установите для полупрозрачного свойства панели навигации значение NO:

self.navigationController.navigationBar.translucent = NO;

Это предотвратит отображение вида под панелью навигации и строкой состояния.

Однако я не нашел исправления для случая, когда вы хотите, чтобы панель навигации была полупрозрачной. Например, при просмотре фотографии в полноэкранном режиме, я хочу, чтобы навигационная панель была полупрозрачной, а вид под ней был обрамлен. Это работает, но когда я переключаю показ / скрытие панели навигации, я получаю еще более странные результаты. Первое подпредставлениеUIScrollView) получает свои границы и происхождение меняется каждый раз.

Ответы на вопрос(9)

Ваш ответ на вопрос