У меня есть UINavigationBar, который перехватывает нажатие кнопки «Назад», которое предупреждает пользователя о наличии несохраненных изменений. Это основано на решении, представленном в UINavigationController and UINavigationBarDelegate.ShouldPopItem() with MonoTouch с использованием протокола UINavigationBarDelegate и реализации - (BOOL)navigationBar:(UINavigationBar *)navigationBar shouldPopItem:(UINavigationItem *)item;
UINavigationBar: кнопка перехвата назад и обратный сабля
Теперь iOS7 представила жест салфетки навынос-назад, и я хотел бы перехватывать, что хорошо, но не может заставить его работать с решениями, которые я нашел до сих пор, а именно с помощью [self.interactivePopGestureRecognizer addTarget:self action:@selector(handlePopGesture:)];
и
- (void)handlePopGesture:(UIGestureRecognizer *)gesture {
if (gesture.state == UIGestureRecognizerStateEnded) {
[self popViewControllerAnimated:NO];
}
}
Хотя это поп взгляды, он оставляет навигационные кнопки панели на месте, так что я в конечном итоге с задней которая не ведет никуда, а также другую навигационную кнопку, добавленную в навигационную панель. Какие-нибудь советы?
Спасибо, работает как очарование! – Gereon
Я ожидал увидеть некоторые проблемы, если я изменил делегат распознавателя жестов по умолчанию, но пока не видел. Делегат по умолчанию является объектом класса _UINavigationInteractiveTransition. Я поменял его на свой подклас UINavigationController и, похоже, работает нормально. – arlomedia