2016-07-11 5 views
0

Я пробовал так много различных учебников по блогам и видео, и все они очень запутаны. Я не могу представить, что эта техника так же сложна, как кажется. Это мои контроллеры просмотров: enter image description here(Swift) требуется пошаговое руководство по прокрутке между моими контроллерами просмотров

Все, что я хочу, это то, что после подписания мое приложение переходит к контроллеру среднего вида (домашний контроллер). Затем я хочу иметь возможность прокручивать влево и вправо на соседние контроллеры. Я пробовал так много учебников по UIPageViewControllers и UIScrollViews и не имел успеха. У меня уже есть эти контроллеры, мне просто нужен простой способ провести между ними. Я чувствую, что это должно быть очень легко, но каждое видео, которое я смотрю, - это о том, как сделать учебник в приложении с помощью UIPageViewController. Мне просто нужно, чтобы эти 3 диспетчера представлений были перемещены путем прокрутки.

Любая помощь была бы принята с благодарностью.

ответ

0

Если вы хотите, чтобы достичь этого с помощью UISwipeGesture, то вы можете попробовать следующий код ...

здесь вам просто нужно дать анимации в viewDidLoad() метод self.view так, что это похоже, что красть один контроллер от другого.

В контроллере среднего уровня вы должны проверить, с какого контроллера вы попали в MiddleController, и после этого накладывать левую или правую анимацию зависит от вашего контроллера.

override func viewDidLoad() 
{ 
    super.viewDidLoad() 

    self.imgSlideInFromLeft(self.view) 

    let swipeGesture:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipeViewFromLeft:")) 
    swipeGesture.direction = .Right 
    swipeGesture.numberOfTouchesRequired = 1 
    swipeGesture.delegate = self 
    self.view .addGestureRecognizer(swipeGesture) 
} 

func imgSlideInFromLeft(view: UIView) 
{ 
    let transition:CATransition = CATransition() 
    transition.duration = 0 
    transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) 
    transition.type = kCATransitionPush 
    transition.subtype = kCATransitionFromRight 
    transition.delegate = self 
    view.layer .addAnimation(transition, forKey: "transition") 
} 

func swipeViewFromLeft(recognizer : UISwipeGestureRecognizer) 
{ 
    let followingController = FollowingController() 
    self.navigationController!.pushViewController(followingController, animated: false) 
} 
0

Вы можете перейти по ссылке.

PageScroller_swift

Просто с одним изменением получить контроллер страницы, которые вы хотите. В вашем случае вы хотите перейти непосредственно к контроллеру 1-го уровня -> Home view, затем получить контроллер просмотра из индекса 1.

self.setViewControllers([getViewControllerAtIndex(1)] as [UIViewController], direction: UIPageViewControllerNavigationDirection.Forward, animated: false, completion: nil) 
Смежные вопросы