1.WMPageController 是什么?是一个类似于UINavigationController 和 UITabBarController 的一个UIViewController 的一个管理类
2.有什么作用?
用来分页展示内容的,可以通过手势滑动来切换页面,也可以使用点击title来切换页面
是一个用来管理ViewController的一个类,将 它的subViewController设置为每一个ViewController ,然后将这些subViewController 放在ScrollView 上面,故称呼为一个ViewController 的一个管理类
3.怎么用WMPageController?
创建MyWMPageController 继承于 WMPageController
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"健康咨询";
UIColor * color = [UIColor colorWithRed:105.0/255.0 green:144.0/255.0 blue:255.0/255.0 alpha:1.0];
self.dataSource = self;
self.delegate = self;
self.menuItemWidth = 100;
self.menuHeight = 44;
self.titleColorSelected = color;
self.menuViewStyle = WMMenuViewStyleLine;//这里设置菜单view的样式
self.progressColor = color;
self.progressHeight = 1;
//菜单栏的背景色
self.menuBGColor = [UIColor whiteColor];
//a.请求titleArray,因为是少量的数据而且界面的显示需要得到改数据,所以不需要开启分线程,在主线程执行
[self doAskTitleArray];
}
//b.在得到titleArray后,继续求的controllerViewArray,然后实现代理方法即可
- (NSInteger)numbersOfChildControllersInPageController:(WMPageController *)pageController
{
return self.titleArray.count;
}
#pragma mark 返回某个index对应的页面,该页面从Storyboard中获取
- (UIViewController *)pageController:(WMPageController *)pageController viewControllerAtIndex:(NSInteger)index {
//c.这个很关键,它可以将controller 设置为我们自己定义好的ViewController,并将它返回。 这个方法使我们避开了那个只是返回一个ViewController 的类 来创建该WMPageController整体
UIViewController * controller = [self.controllerArray objectAtIndex:index];
return controller;
}
#pragma mark 返回index对应的标题
- (NSString *)pageController:(WMPageController *)pageController titleAtIndex:(NSInteger)index {
JCYJKTitleModel * model = [self.titleArray objectAtIndex:index];
NSString * titleString = model.titleString;
return titleString;
}