0

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

[self.navigationController.navigationBar insertSubview:image atIndex:0];

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

UIBarButtonItem *customHome = [[UIBarButtonItem alloc] initWithCustomView: buttonHome]; 
[self.navigationController.navigationItem setLeftBarButtonItem:customHome]; 

Пожалуйста, сообщите, что в этом нет. :(

ответ

0

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

0

Если вы встроили ваш UIViewController в UINavigationController затем в viewDidLoad в View Controller вы могли бы, например, сделать название UISearchBar (что вы потащили к UIViewController в Xcode IB) и поставить 2 кнопки справа, как это:

UIBarButtonItem *componentsButton = [[UIBarButtonItem alloc] initWithTitle:@"components" style:UIBarButtonItemStylePlain target:self action:@selector(componentsButtonTapped:)]; 
    UIBarButtonItem *settingsButton = [[UIBarButtonItem alloc] initWithTitle:@"settings" style:UIBarButtonItemStylePlain target:self action:@selector(settingsButtonTapped:)]; 
    self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:componentsButton, settingsButton, nil]; 
    self.navigationItem.titleView = searchBar; 

проблема здесь заключается различие между UINavigationController, который управляет UINavigationBar и UINavigationItem, которые вы и UINavigationController сотрудничают. (Не забудьте протокол UINavigationBarDelegate, который имеет мало используемых, но полезных методов.)

Смежные вопросы