一 效果图
二 使用方法步骤
1. 通过cocoapods引入WMPageController到项目中
platform:ios, '7.0'
target 'ViewPage ceshi' do
pod 'WMPageController'
end
2.建立文件继承自WMPageController
代码
#import "WMPageController.h"
typedef NS_ENUM(NSUInteger, WMMenuViewPosition) {
WMMenuViewPositionDefault,
WMMenuViewStyleFoold,
};
NS_ASSUME_NONNULL_BEGIN
@interface PageViewController : WMPageController
@property (nonatomic, assign) WMMenuViewPosition menuViewPosition;
@end
NS_ASSUME_NONNULL_END
3.在.m中实现三个方法,类似于UITableView
- 返回子页面的个数
- (NSInteger)numbersOfChildControllersInPageController:(WMPageController *)pageController {
return 2;
}
- 返回某个index对应的标题
-(NSString *)pageController:(WMPageController *)pageController titleAtIndex:(NSInteger)index {
switch (index) {
case 0:
return @"请假申请";
case 1:
return @"历史记录";
default:
break;
}
return @"NONE";
}
- 返回某个index对应的页面
- (UIViewController *)pageController:(WMPageController *)pageController viewControllerAtIndex:(NSInteger)index {
switch (index) {
case 0:
return [[LeaveViewController alloc] init];
case 1:
return [[HistoryViewController alloc] init];
default:
break;
}
return [[UIViewController alloc] init];
}
- 其他设置:
- (instancetype)init {
if (self = [super init]) {
self.titleSizeNormal = 15;
self.titleSizeSelected = 15;
self.menuViewStyle = WMMenuViewStyleFlood;
// self.titleColorSelected = [UIColor blueColor];//设置选中文字颜色
// self.progressColor = [UIColor whiteColor];
// self.titleSizeSelected = 18;//设置选中文字大小
self.titleSizeNormal = 19;
self.titleColorSelected = [UIColor whiteColor];
self.titleColorNormal = [UIColor colorWithRed:0.18f green:0.52f blue:0.77f alpha:1.00f];
self.progressColor = [UIColor colorWithRed:0.18f green:0.52f blue:0.77f alpha:1.00f];
//self.showOnNavigationBar = YES;
self.menuViewLayoutMode = WMMenuViewLayoutModeCenter;
self.titleSizeSelected = 19;
}
return self;
}
我写的效果标题样式是WMMenuViewStyleFoold
还有很多种可供选择
WMMenuViewStyleDefault, // 默认
WMMenuViewStyleLine, // 带下划线
WMMenuViewStyleFoold, // 涌入效果 (填充)
WMMenuViewStyleFooldHollow, // 涌入效果 (空心的)
若想看更为详细的使用方法及细节,请参照底下的demo。里面非常详细的列出来各种效果以及其他使用细节(当下划线样式时其他细节设置还有高度宽度等设置)。
Demo
参考文章
参考文章1
参考文章2