2015-12-07 1 views
0

проблемаДобавление Бар Кнопка Пункт

Я не могу за жизнь мне получить его, чтобы показать.

Вот реализация навигационной панели

_navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 50)]; 
[_navBar setDelegate:self]; 
[self.view addSubview:_navBar]; 

_navBar является UINavigationBar собственностью.

Здесь я добавляю кнопку.

UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd 
                     target:self 
                     action:@selector(flipView:)]; 
self.navigationItem.rightBarButtonItem = button; 

Однако ничего не показывает. Любая помощь?

ответ

1

self.navigationItem автоматически считывается родительским UINavigationController. Но у вас его нет.

Таким образом, у вас есть два варианта:

  • Вместо свободной панели навигации, которые вы создаете и положить в интерфейс самостоятельно (как вы делаете в своем первом коде), быть ребенком в UINavigationController , Теперь настройка self.navigationItem будет работать.

  • Или создайте элемент навигации, настройте его и нажмите вручную на ваш свободный навигационный бар. Ваш код будет иметь такую ​​структуру:

    UINavigationItem* ni = [[UINavigationItem alloc] initWithTitle:// ...]; 
    UIBarButtonItem* b = // ...; 
    ni.rightBarButtonItem = b; 
    _navbar.items = @[ni]; 
    
+0

Спасибо за ответ, я думал, что это может быть результатом. – Daniel

+1

Добавлен небольшой код, показывающий вам, как работает второй подход. – matt