An easy solution to page controllers like NetEase News
And you can easily change styles by setting `menuViewStyle` property: ```objective-c pageController.menuViewStyle = WMMenuViewStyleLine; ``` ## Swift Version Click here: https://github.com/wangmchn/WMPageController-Swift
- Now page controller has a cache policy and scroll much more fluently!
- Add
itemMargin
anditemsMargins
to custom margin between each item,viewFrame
to custom controller.view's frame. - Add
values
andkeys
properties which can help pass values to childControllers throughKVC
. - If items width didn't fill the screen width,
WMPageController
will calculate width and add gap between each item automatically; - Adjust views and frames when device's orientation changed;
- Set the property
itemsWidths
to have Different Width! Like@[@(100),@(80),@(50).....]
;
First Drag files in red frame to your project.
Then,create an controller that extends from WMPageController
.I recommend to use
- (instancetype)initWithViewControllerClasses:(NSArray *)classes
andTheirTitles:(NSArray *)titles;
to init the controller.Here are two important porperties
classes :contains the classes of view controller, you can put obj in like [UITableViewController class];
titles :Each View controller's title to show in the menu view at the top of the view;
To have a custom page controller,please set the properties in WMPageController
,They are: titleSize
, titleColor
, menuHeight
, pageAnimatable
, menuBGColor
, menuItemWidth
,,and also rememberLocation
itemsWidths
.
pod 'WMPageController'
You can put every controller in WMPageController
,But if you want have a UICollectionViewController
in, please have an attention to UICollectionViewController's
init method.
You should override the - init
to give UICollectionViewController
a UICollectionViewLayout
.
Here is an example:
- (instancetype)init {
// init layout here...
self = [self initWithCollectionViewLayout:layout];
if (self) {
// insert code here...
}
return self;
}
This project is under MIT License. See LICENSE file for more information.