Влияние на метод кнопки возврата UINavigationBar (iOS) - PullRequest
3 голосов
/ 01 декабря 2011

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

Для ясности, я все еще хочу, чтобы кнопка возврата вернулась к исходному виду, но одновременно изменила целочисленное значение. Спасибо!

Ответы [ 4 ]

4 голосов
/ 13 января 2012

Спасибо PengOne, чтобы указать мне на это направление. Добавьте UINavigationBarDelegate в заголовочный файл и используйте его в .m файле:

- (BOOL)navigationBar:(UINavigationBar *)navigationBar shouldPopItem:(UINavigationItem     *)item
{
  //insert your back button handling logic here
  // let the pop happen
  return YES;
}     
2 голосов
/ 07 декабря 2011

Я понял, как легко это исправить. Я просто снял флажок «Показывает панель навигации» в Интерфейсном Разработчике для UINavigationController, в котором содержалось табличное представление. Затем я использовал UINavigationBar для репликации внешнего вида (но могу добавлять и удалять кнопки, как мне нравится).

После этого я просто создал IBAction, который я подключил к кнопкам и мог контролировать целое значение оттуда.

(PS Единственная проблема в этом состоит в том, что в конструкторе интерфейса XCode нет кнопки «Назад» в виде стрелки, указывающей влево, как известно многим из вас. Существуют решения вокруг этого, которые довольно легко найти при поиске).

1 голос
/ 01 декабря 2011

Если вы используете UINavigationController, тогда UINavigationBarDelegate является классом делегата и реализует -navigationBar:shouldPopItem.В этом методе вы можете указать действие, которое хотите вызвать, например, увеличить или уменьшить счетчик.

0 голосов
/ 01 декабря 2011

Вы можете попробовать реализовать viewDidDisappear, который должен вызываться, когда представление контроллера подробного представления выходит из поля зрения.

...