Files
libr-ios/librx/ContainerViewController.swift
2015-11-02 21:51:48 +08:00

96 lines
3.4 KiB
Swift

//
// ContainerViewController.swift
// librx
//
// Created by Yunlong Zheng on 15/10/12.
// Copyright © 2015年 librx. All rights reserved.
//
import UIKit
class ContainerViewController: UIPageViewController {
var isMe:Bool = true
var userId:Int?
lazy var _controllers: [UIViewController] = {
let myPostStoriesTableViewController = self.storyboard?.instantiateViewControllerWithIdentifier("StoriesTableViewController") as! StorysTableViewController
let faviroteProfileTableViewController = self.storyboard?.instantiateViewControllerWithIdentifier("StoriesTableViewController") as! StorysTableViewController
let likeProfileTableViewController = self.storyboard?.instantiateViewControllerWithIdentifier("StoriesTableViewController") as! StorysTableViewController
let staticProfileTableViewController = self.storyboard?.instantiateViewControllerWithIdentifier("GraphsUIViewController") as! GraphsUIViewController
if self.isMe {
likeProfileTableViewController.postSection = .Liked
myPostStoriesTableViewController.postSection = .MyPostTimeLine
faviroteProfileTableViewController.postSection = .BookMark
staticProfileTableViewController.userId = LocalStore.accessUserId()!
} else {
myPostStoriesTableViewController.postSection = .UserPosts(userId: self.userId!)
likeProfileTableViewController.postSection = .UserLiked(userId: self.userId!)
faviroteProfileTableViewController.postSection = .UserBookMark(userId: self.userId!)
staticProfileTableViewController.userId = self.userId!
}
return [myPostStoriesTableViewController, likeProfileTableViewController, faviroteProfileTableViewController, staticProfileTableViewController]
}()
override func viewDidLoad() {
super.viewDidLoad()
turnToPage(0)
}
func turnToPage(index: Int) {
let controller = _controllers[index]
let direction = UIPageViewControllerNavigationDirection.Forward
setViewControllers([controller],
direction: direction,
animated: false) { (completion) -> Void in
}
}
func configureForDisplayingViewController(controller: UITableViewController) {
}
}
extension ContainerViewController : UIPageViewControllerDataSource {
func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
let index = (_controllers as NSArray).indexOfObject(viewController)
if index > 0 {
return _controllers[index - 1]
}
return nil
}
func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
let index = (_controllers as NSArray).indexOfObject(viewController)
if index < _controllers.count - 1 {
return _controllers[index + 1]
}
return nil
}
}
extension ContainerViewController : UIPageViewControllerDelegate {
func pageViewController(pageViewController: UIPageViewController, willTransitionToViewControllers pendingViewControllers: [UIViewController]) {
}
}