2013-11-12 4 views
4

Логика моего приложения выглядит так: 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 без анимации.

Итак, любое решение? Пожалуйста, помогите мне.

ответ

1

Прежде всего, трудно решить проблему без какой-либо части вашего кода.

И, во-вторых, почему вы не создадите кнопку самостоятельно и не добавите к ней цель, функцию, которая будет отменять/вызывать контроллер вида?

+1

Большое спасибо за ответ. Я редактирую вопрос с некоторым кодом и объяснением. –

+0

И об использовании пользовательской кнопки «назад», я думаю, для iOS 7, кнопка «Назад» не будет в правильных местах, потому что OS оставляет место для этой стрелки «<». Итак, есть ли способ решить проблему? Еще раз спасибо. –

+0

Когда этот пробел «случается», вы сделали это программно или раскадровку/xib? –

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