2016-08-22 3 views
2

У меня есть проект, который использует UIViewControllers, встроенный в контроллеры навигации, поэтому кнопка «Назад» автоматически настраивается для меня всякий раз, когда я перехожу к любой детали своих табличных представлений.Как добавить кнопку левого бара без переопределения натуральной кнопки возврата?

Теперь я хочу добавить кнопку «Редактировать» рядом с кнопкой «Назад». Я уже положил кнопку «Отменить» справа, а так как слово «Отменить присвоение» довольно длинное, я бы лучше поместил кнопку «Редактировать» рядом с кнопкой «Назад» на левой стороне.

Я знаю, что я могу программно добавлять кнопки на панели с navigationItem.leftBarButtonItem = editButton, но это переопределяет кнопку «Назад».

Я также попытался добавить editButton в массив navigationItem.leftBarButtonItems, но это тоже не сработает (поскольку массив leftBarButtonItems не задан в первую очередь).

Мой следующий подход состоял в том, чтобы найти кнопку «Назад» и вручную добавить ее в массив leftBarButtonItems, поэтому я попытался использовать navigationItem.leftBarButtonItems = [self.navigationItem.backBarButtonItem!, editButton], но это только добавляет пробел между editButton и левой стороной. Нет кнопки «Назад».

Как добавить кнопку на левой панели, оставив кнопку «Назад» незатронутой? Есть ли более элегантный способ, чем ручное кодирование новой кнопки с self.navigationController?.popViewControllerAnimated(true) и добавление ее в массив leftBarButtonItems?

ответ

5

По умолчанию leftItemsSupplementBackButton является false. В этом случае обратная кнопка не нарисована, а левый элемент или элементы ее заменить. Если вы хотели бы, чтобы левые элементы появлялись в дополнение к кнопке «Назад» (вместо нее), установите leftItemsSupplementBackButton на номер true.

@property(nonatomic) BOOL leftItemsSupplementBackButton 

вы можете использовать что-то вроде этого

navigationItem.leftBarButtonItem = editButton 
//or 
navigationItem.leftBarButtonItems = [editButton] 

self.navigationItem.leftItemsSupplementBackButton = true 
+0

OH ДА СПАСИБО ВАС !! Отличный ответ, именно то, что я искал. Потрачено слишком много времени Googling и получить никуда XD –

0

Эти две линии с сделать трюк. Установите leftItemSupplementBackButton в true, а затем добавьте leftBarButtonsItems.

self.navigationItem.leftItemsSupplementBackButton = true 
self.navigationItem.leftBarButtonItems = [barButton] 
Смежные вопросы