2016-04-09 2 views
1

Я пытаюсь добавить кнопку перезагрузки на верхнюю панель навигационного контроллера без успеха.Как добавить элемент левой кнопки в UINavigationController на iOS?

Вот заголовок:

@interface PropertyViewController : UINavigationController { 

} 

Вот как я пытаюсь добавить:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { 
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { 
     UIBarButtonItem *reload = [[UIBarButtonItem alloc] initWithTitle:@"Show" style:UIBarButtonItemStylePlain 
              target:self action:@selector(reloadPropertyList:)]; 
     self.navigationItem.leftBarButtonItem = reload; 
    } 
    return self; 
} 
+0

Почему вы подклассов навигации контроллер здесь? – Wain

+0

то как добавить и где? –

+0

Вы не объяснили, что все ваши контроллеры представлений, но диспетчеры просмотра указывают элементы для отображения, и контроллер навигации имеет дело с показом их – Wain

ответ

0

Вы должны использовать пользовательские панели навигации. скрыть навигационную панель и сделать свой обычай. Перетащите UIView и добавьте к нему кнопку.

Если вы wantto держать панель навигации, чем вы можете использовать панель инструментов, как, here

0

Метод initWithNibName: (NSString *) nibNameOrNil расслоение: (NSBundle *) nibBundleOrNil не вызывается автоматически, так что вам нужно создать экземпляр PropertyViewController класса, как показано ниже

PropertyViewController *propertyVC = [[PropertyViewController alloc] initWithNibName:@"your_nib_if_exist" bundle:nil]; 
//pass nib name if nib exist otherwise pass nil 
Смежные вопросы