Advertisement
Guest User

Untitled

a guest
Jul 30th, 2015
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.47 KB | None | 0 0
  1. protocol setRoomOnScreenProtocol {
  2. func updateRoomOnScreen(myRoom: String)
  3. }
  4.  
  5. class ViewController: UIViewController, UIPageViewControllerDataSource, UIPageViewControllerDelegate, setRoomOnScreenProtocol {
  6.  
  7. @IBAction func press1(sender: AnyObject) {
  8.  
  9. println("roomOnScreen: (roomOnScreen)")
  10. }
  11.  
  12. @IBOutlet weak var btn1: UIBarButtonItem!
  13. let pageTitles = ["Room 1", "Room 2", "Room 3", "Room 4"]
  14. var count = 0
  15.  
  16. var pageViewController : UIPageViewController!
  17.  
  18. var roomOnScreen: String = ""
  19.  
  20. override func viewDidLoad() {
  21. super.viewDidLoad()
  22. reset()
  23. }
  24.  
  25. func updateRoomOnScreen(myRoom: String) {
  26.  
  27. roomOnScreen = myRoom
  28. println("roomOnScreen (PGL): (roomOnScreen)")
  29. }
  30.  
  31. func reset() {
  32. /* Getting the page View controller */
  33. pageViewController = self.storyboard?.instantiateViewControllerWithIdentifier("PageViewController") as! UIPageViewController
  34. self.pageViewController.dataSource = self
  35.  
  36. let pageContentViewController = self.viewControllerAtIndex(0)
  37.  
  38. self.pageViewController.setViewControllers([pageContentViewController!], direction: UIPageViewControllerNavigationDirection.Forward, animated: true, completion: nil)
  39.  
  40. self.pageViewController.view.frame = CGRectMake(0, 0, self.view.frame.width, self.view.frame.height)
  41. self.addChildViewController(pageViewController)
  42. self.view.addSubview(pageViewController.view)
  43. self.pageViewController.didMoveToParentViewController(self)
  44.  
  45. }
  46.  
  47. func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
  48. var index = (viewController as! PageContentViewController).pageIndex!
  49.  
  50. index++
  51.  
  52. return self.viewControllerAtIndex(index)
  53.  
  54. }
  55.  
  56. func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
  57. var index = (viewController as! PageContentViewController).pageIndex!
  58.  
  59. if (index <= 0) {
  60. return nil
  61. }
  62.  
  63. index--
  64.  
  65. return self.viewControllerAtIndex(index)
  66.  
  67. }
  68.  
  69. func viewControllerAtIndex(index : Int) -> UIViewController? {
  70. if ((self.pageTitles.count == 0) || (index >= self.pageTitles.count)) {
  71. return nil
  72. }
  73.  
  74. let pageContentViewController = self.storyboard?.instantiateViewControllerWithIdentifier("PageContentViewController") as! PageContentViewController
  75.  
  76. pageContentViewController.titleText = self.pageTitles[index]
  77. pageContentViewController.pageIndex = index
  78.  
  79. return pageContentViewController
  80. }
  81.  
  82. func presentationCountForPageViewController(pageViewController: UIPageViewController) -> Int {
  83.  
  84. return pageTitles.count
  85. }
  86.  
  87. func presentationIndexForPageViewController(pageViewController: UIPageViewController) -> Int {
  88.  
  89. return 0
  90. }
  91.  
  92. class PageContentViewController: UIViewController {
  93.  
  94. var pageIndex: Int?
  95. var titleText : String!
  96.  
  97. var delegate: setRoomOnScreenProtocol!
  98.  
  99. @IBOutlet weak var label1: UILabel!
  100. override func viewDidLoad() {
  101. super.viewDidLoad()
  102.  
  103. self.label1.text = self.titleText
  104.  
  105. }
  106.  
  107. override func viewDidAppear(animated: Bool) {
  108.  
  109. self.delegate = ViewController()
  110.  
  111. if let actualDelegate = self.delegate {
  112. actualDelegate.updateRoomOnScreen(titleText)
  113. } else {
  114. println("error")
  115. }
  116.  
  117. doMore()
  118. }
  119.  
  120. func doMore() {
  121.  
  122. println("showing...:(titleText)")
  123. }
  124.  
  125.  
  126. }
  127.  
  128. roomOnScreen (PGL): Room 1
  129. showing...:Room 1
  130. roomOnScreen (PGL): Room 2
  131. showing...:Room 2
  132.  
  133. roomOnScreen:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement