2013-10-08 2 views
0

Один вид в моем приложении отказывается заполнить панель навигации в iOS7. Я вижу, что панель там, включена, видима и прозрачна, потому что мои прокручиваемые элементы управления плавают под ним, когда я их перетаскиваю. Проблема заключается в том, что когда я добавляю элементы управления в self.navigationItem.leftBarButtonItem/self.navigationItem.rightBarButtonItem и обозначаю название вида (в ViewController) с self.title = @"Title";, они не отображаются в области навигации.Навигационная панель не заполнена - iOS7

Странная вещь, если я установил self.navigationController.navigationBar.topItem.title = @"Title", это отображает заголовок в представлении на панели навигации (но это не решение, поскольку оно вызывает проблемы при навигации в другом месте приложения). Выражение «(self.navigationController.navigationBar.topItem != self.navigationItem)» оценивает true, и я не понимаю, как это может быть.

В приложении есть другие представления, которые правильно отображают навигационные элементы с помощью приведенных выше инструкций.

Следует упомянуть, что это приложение выполняет, как ожидается, в соответствии с iOS6.1. Я довольно новичок в iPhone dev, поэтому мог легко пропустить что-то. Любые предложения по тому, что я могу проверить, будут оценены.

+0

ли вы нажимаете контроллер представления в стек навигации контроллер? –

+0

Возможно, неверно, код, который был там уже прочитан: self.navigationController.viewControllers = [NSArray arrayWithObject: self.myViewController]; --- обновить это с помощью [self.navigationController pushViewController: self.vehicleListViewController animated: YES]; кажется, намного лучше справляется с этим. –

+0

Решает проблему, если вы фактически нажимаете контроллер просмотра вместо использования setViewControllers: animated: 'или setterter? Если это так, я считаю, что это ошибка, о которой следует сообщать Apple. –

ответ

0

Решено. Я использовал неправильный метод нажатия контроллера вида в контроллер навигации.

Вместо

self.navigationController.viewControllers = [NSArray arrayWithObject:self.myViewController]; 

Используйте следующие

[self.navigationController pushViewController:self.vehicleListViewController animated:YES]; 
Смежные вопросы