UINavigationController только полноэкранный? - PullRequest
0 голосов
/ 29 марта 2011

Я работаю с навигационным шаблоном приложения для iPad. Мне нужен NavigationController, представляющий иерархию моего списка воспроизведения в TableView.

Работает из книги. Нет проблем.

Full Screen Navigaton Controller.

Теперь я хочу, чтобы этот вид занимал только часть экрана, поэтому в моем AppDelegate я говорю:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window.rootViewController = self.navigationController;
    self.window.rootViewController.view.frame = CGRectMake(0,352,384,1024-352);
    [self.window makeKeyAndVisible];
    return YES;
}

Это работает. Однако теперь строка заголовка перекрывает часть TableView.

Crooked title bar when not fullscreen.

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

Я ищу способ переместить строку заголовка NC вверх. Есть идеи?

Ответы [ 2 ]

0 голосов
/ 30 марта 2011

попробуйте

self.window.rootViewController.view.frame = CGRectMake(0,0,384,1024-352);
0 голосов
/ 29 марта 2011

Вы не можете просто установить изменение размера rootViewController, так как на экране будут пустые области! Вы можете попытаться использовать UISplitController или начать с пустого шаблона представления, а затем добавить в свой файл XIB столько объектов, сколько хотите, и расположить их по своему усмотрению, а затем добавить UINavigationController в один из них вместо RootViewController.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...