@@ -213,8 +213,23 @@ struct PagingMenuOptions: PagingMenuControllerCustomizable {
213213}
214214
215215let pagingMenuController = self .childViewControllers .first as! PagingMenuController
216- pagingMenuController.delegate = self
217216pagingMenuController.setup (options)
217+ pagingMenuController.onMove = { state in
218+ switch state {
219+ case let .willMoveController (menuController, previousMenuController):
220+ print (previousMenuController)
221+ print (menuController)
222+ case let .didMoveController (menuController, previousMenuController):
223+ print (previousMenuController)
224+ print (menuController)
225+ case let .willMoveItem (menuItemView, previousMenuItemView):
226+ print (previousMenuItemView)
227+ print (menuItemView)
228+ case let .didMoveItem (menuItemView, previousMenuItemView):
229+ print (previousMenuItemView)
230+ print (menuItemView)
231+ }
232+ }
218233```
219234* You should add ` ContainerView ` into your view controller's view and set ` PagingMenuController ` as the embedded view controller's class
220235
@@ -247,20 +262,32 @@ pagingMenuController.didMove(toParentViewController: self)
247262
248263See ` PagingMenuControllerDemo2 ` target in demo project for more details
249264
250- ### Delegate methods (optional)
265+ ### Menu move handler (optional)
251266
252267``` Swift
253- pagingMenuController.delegate = self
254- ```
268+ public enum MenuMoveState {
269+ case willMoveController (to : UIViewController, from : UIViewController)
270+ case didMoveController (to : UIViewController, from : UIViewController)
271+ case willMoveItem (to : MenuItemView, from : MenuItemView)
272+ case didMoveItem (to : MenuItemView, from : MenuItemView)
273+ }
255274
256- ``` Swift
257- func willMove (toMenu menuController : UIViewController, fromMenu previousMenuController : UIViewController) {}
258-
259- func didMove (toMenu menuController : UIViewController, fromMenu previousMenuController : UIViewController) {}
260-
261- func willMove (toMenuItem menuItemView : MenuItemView, fromMenuItem previousMenuItemView : MenuItemView) {}
262-
263- func didMove (toMenuItem menuItemView : MenuItemView, fromMenuItem previousMenuItemView : MenuItemView) {}
275+ pagingMenuController.onMove = { state in
276+ switch state {
277+ case let .willMoveController (menuController, previousMenuController):
278+ print (previousMenuController)
279+ print (menuController)
280+ case let .didMoveController (menuController, previousMenuController):
281+ print (previousMenuController)
282+ print (menuController)
283+ case let .willMoveItem (menuItemView, previousMenuItemView):
284+ print (previousMenuItemView)
285+ print (menuItemView)
286+ case let .didMoveItem (menuItemView, previousMenuItemView):
287+ print (previousMenuItemView)
288+ print (menuItemView)
289+ }
290+ }
264291```
265292
266293### Moving to a menu tag programmatically
@@ -279,7 +306,7 @@ It creates a new paging menu controller. Do not forget to cleanup properties in
279306
280307iOS9+
281308Swift 3.0+
282- Xcode 8.0+
309+ Xcode 8.0+
283310
284311[ v1.4.0] ( https://github.com/kitasuke/PagingMenuController/releases/tag/1.4.0 ) for iOS 8 in Swift 3.0
285312[ v1.2.0] ( https://github.com/kitasuke/PagingMenuController/releases/tag/1.2.0 ) for iOS 8 in Swift 2.3
0 commit comments