Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protocol setRoomOnScreenProtocol {
- func updateRoomOnScreen(myRoom: String)
- }
- class ViewController: UIViewController, UIPageViewControllerDataSource, UIPageViewControllerDelegate, setRoomOnScreenProtocol {
- @IBAction func press1(sender: AnyObject) {
- println("roomOnScreen: (roomOnScreen)")
- }
- @IBOutlet weak var btn1: UIBarButtonItem!
- let pageTitles = ["Room 1", "Room 2", "Room 3", "Room 4"]
- var count = 0
- var pageViewController : UIPageViewController!
- var roomOnScreen: String = ""
- override func viewDidLoad() {
- super.viewDidLoad()
- reset()
- }
- func updateRoomOnScreen(myRoom: String) {
- roomOnScreen = myRoom
- println("roomOnScreen (PGL): (roomOnScreen)")
- }
- func reset() {
- /* Getting the page View controller */
- pageViewController = self.storyboard?.instantiateViewControllerWithIdentifier("PageViewController") as! UIPageViewController
- self.pageViewController.dataSource = self
- let pageContentViewController = self.viewControllerAtIndex(0)
- self.pageViewController.setViewControllers([pageContentViewController!], direction: UIPageViewControllerNavigationDirection.Forward, animated: true, completion: nil)
- self.pageViewController.view.frame = CGRectMake(0, 0, self.view.frame.width, self.view.frame.height)
- self.addChildViewController(pageViewController)
- self.view.addSubview(pageViewController.view)
- self.pageViewController.didMoveToParentViewController(self)
- }
- func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
- var index = (viewController as! PageContentViewController).pageIndex!
- index++
- return self.viewControllerAtIndex(index)
- }
- func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
- var index = (viewController as! PageContentViewController).pageIndex!
- if (index <= 0) {
- return nil
- }
- index--
- return self.viewControllerAtIndex(index)
- }
- func viewControllerAtIndex(index : Int) -> UIViewController? {
- if ((self.pageTitles.count == 0) || (index >= self.pageTitles.count)) {
- return nil
- }
- let pageContentViewController = self.storyboard?.instantiateViewControllerWithIdentifier("PageContentViewController") as! PageContentViewController
- pageContentViewController.titleText = self.pageTitles[index]
- pageContentViewController.pageIndex = index
- return pageContentViewController
- }
- func presentationCountForPageViewController(pageViewController: UIPageViewController) -> Int {
- return pageTitles.count
- }
- func presentationIndexForPageViewController(pageViewController: UIPageViewController) -> Int {
- return 0
- }
- class PageContentViewController: UIViewController {
- var pageIndex: Int?
- var titleText : String!
- var delegate: setRoomOnScreenProtocol!
- @IBOutlet weak var label1: UILabel!
- override func viewDidLoad() {
- super.viewDidLoad()
- self.label1.text = self.titleText
- }
- override func viewDidAppear(animated: Bool) {
- self.delegate = ViewController()
- if let actualDelegate = self.delegate {
- actualDelegate.updateRoomOnScreen(titleText)
- } else {
- println("error")
- }
- doMore()
- }
- func doMore() {
- println("showing...:(titleText)")
- }
- }
- roomOnScreen (PGL): Room 1
- showing...:Room 1
- roomOnScreen (PGL): Room 2
- showing...:Room 2
- roomOnScreen:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement