@@ -28,6 +28,68 @@ This library is inspired by [msaps/Pageboy](https://github.com/msaps/Pageboy), [
28
28
29
29
## How to use
30
30
31
+ ### Example
32
+
33
+ Here is an example of how to SwiftPageMenu.
34
+
35
+ [ PageMenuExample/Sources/PageTabMenuViewController.swift] ( https://github.com/tamanyan/SwiftPageMenu/blob/master/PageMenuExample/Sources/PageTabMenuViewController.swift )
36
+
37
+ ``` swift
38
+ import UIKit
39
+ import SwiftPageMenu
40
+ // import Swift_PageMenu if you use cocoapods
41
+
42
+ class PageTabMenuViewController : PageMenuController {
43
+
44
+ let items: [[String ]]
45
+
46
+ let titles: [String ]
47
+
48
+ init (items : [[String ]], titles : [String ], options : PageMenuOptions? = nil ) {
49
+ self .items = items
50
+ self .titles = titles
51
+ super .init (options : options)
52
+ }
53
+ }
54
+
55
+ extension PageTabMenuViewController : PageMenuControllerDataSource {
56
+
57
+ func viewControllers (forPageMenuController pageMenuController : PageMenuController) -> [UIViewController] {
58
+ return self .items .map (ChildViewController.init )
59
+ }
60
+
61
+ func menuTitles (forPageMenuController pageMenuController : PageMenuController) -> [String ] {
62
+ return self .titles
63
+ }
64
+
65
+ func defaultPageIndex (forPageMenuController pageMenuController : PageMenuController) -> Int {
66
+ return 0
67
+ }
68
+ }
69
+
70
+ extension PageTabMenuViewController : PageMenuControllerDelegate {
71
+
72
+ func pageMenuController (_ pageMenuController : PageMenuController, didScrollToPageAtIndex index : Int , direction : PageMenuNavigationDirection) {
73
+ // The page view controller will begin scrolling to a new page.
74
+ print (" didScrollToPageAtIndex index:\( index ) " )
75
+ }
76
+
77
+ func pageMenuController (_ pageMenuController : PageMenuController, willScrollToPageAtIndex index : Int , direction : PageMenuNavigationDirection) {
78
+ // The page view controller scroll progress between pages.
79
+ print (" willScrollToPageAtIndex index:\( index ) " )
80
+ }
81
+
82
+ func pageMenuController (_ pageMenuController : PageMenuController, scrollingProgress progress : CGFloat, direction : PageMenuNavigationDirection) {
83
+ // The page view controller did complete scroll to a new page.
84
+ print (" scrollingProgress progress: \( progress ) " )
85
+ }
86
+
87
+ func pageMenuController (_ pageMenuController : PageMenuController, didSelectMenuItem index : Int , direction : PageMenuNavigationDirection) {
88
+ print (" didSelectMenuItem index: \( index ) " )
89
+ }
90
+ }
91
+ ```
92
+
31
93
### DataSource
32
94
33
95
SwiftPageMenu supports adding your own custom data sources.
0 commit comments