Логика моего приложения выглядит так: VCA => VCB, и в VCB есть прокрутка с прокруткой влево и вправо. Часть кода поможет понять структуру, в VCB:backBarButtonItem с popViewController and swipe
self.scrollView.pagingEnabled = YES;
self.scrollView.directionalLockEnabled = YES;
self.scrollView.contentSize =CGSizeMake(CGRectGetWidth(self.scrollView.frame) * numberPages, CGRectGetHeight(self.scrollView.frame));
так, что я хочу, это список некоторых страниц по горизонтали и проведите пальцем влево и вправо для навигации. Каждая страница имеет свое собственный контроллер представления (вид ребенка контроллер VCB) и добавить их так:
if (controller.view.superview == nil)
{
[self addChildViewController:controller];
[self.scrollView addSubview:controller.view];
[controller didMoveToParentViewController:self];
}
До сих пор он прекрасно работает для прошивки 6. Я могу ударить, чтобы изменить страницу. Все функции внутри каждой страницы также отлично работают.
Тогда проблема связана с новой функцией iOS 7, проведите пальцем вправо, чтобы автоматически вызвать popViewControllerAnimated:
, такой же эффект, как кнопка возврата назад. Чтобы разрешить конфликт, я отключу interactivePopGestureRecognizer: self.navigationController.interactivePopGestureRecognizer.enabled = NO;
, и он работает нормально, нет силы для всплытия, когда я просто хочу прокрутить страницу изменения.
Настоящая проблема. Я установил кнопку возврата (backBarButtonItem) на панели навигации. Каждый раз, когда я использую эту кнопку, вы выбираете из VCB обратно в VCA, а текущая страница не является первой (это означает, что на левой стороне есть хотя бы одна страница), поп-анимация похожа на первую страницу смены на левую сторону, затем немедленно покажите VCA без анимации.
Итак, любое решение? Пожалуйста, помогите мне.
Большое спасибо за ответ. Я редактирую вопрос с некоторым кодом и объяснением. –
И об использовании пользовательской кнопки «назад», я думаю, для iOS 7, кнопка «Назад» не будет в правильных местах, потому что OS оставляет место для этой стрелки «<». Итак, есть ли способ решить проблему? Еще раз спасибо. –
Когда этот пробел «случается», вы сделали это программно или раскадровку/xib? –