第一张是集成在项目后的gif,喜欢就start鼓励一下,您在使用过程中有任何问题、出现任何(BUG、Crash),请加QQ群538133294或联系我的扣扣1003580893.
- 控制器缓存、控制器生命周期无破坏、性能高
- 菜单样式多样化、易拓展、易集成、易维护
pod 'YNPageScrollViewController'
如果发现pod search YNPageScrollViewController 搜索出来的不是最新版本,需要在终端执行cd转换文件路径命令退回到desktop,然后执行pod setup命令更新本地spec缓存(可能需要几分钟),然后再搜索就可以了
1.0.2: 修改悬浮式假数据高度、提供线条距离底部、宽度配置、修改其他BUG、修改了缓存机制、新增三个用来操作title和vc的Api。
一、统一使用配置信息类YNPageScrollViewMenuConfigration 创建YNPageScrollViewController控制器。控制器可以采用继承/直接使用/作为子类方式。
//简书Demo
- (YNJianShuDemoViewController *)getJianShuDemoViewController{
//配置信息
YNPageScrollViewMenuConfigration *configration = [[YNPageScrollViewMenuConfigration alloc]init];
configration.scrollViewBackgroundColor = [UIColor redColor];
configration.itemLeftAndRightMargin = 30;
configration.lineColor = [UIColor orangeColor];
configration.lineHeight = 2;
configration.itemMaxScale = 1.2;
configration.pageScrollViewMenuStyle = YNPageScrollViewMenuStyleSuspension;
configration.scrollViewBackgroundColor = [UIColor whiteColor];
configration.selectedItemColor = [UIColor redColor];
//设置平分不滚动 默认会居中
configration.aligmentModeCenter = NO;
configration.scrollMenu = NO;
configration.showGradientColor = NO;//取消渐变
configration.showNavigation = YES;
configration.showTabbar = YES;//设置显示tabbar
//创建控制器
YNJianShuDemoViewController *vc = [YNJianShuDemoViewController pageScrollViewControllerWithControllers:[self getViewController] titles:@[@"最新收录",@"最新评论",@"热门",@"更多",@"第一个界面",@"第二个界面",@"第三个界面",@"第四个界面"] Configration:configration];
//头部视图
UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 150)];
imageView.image = [UIImage imageNamed:@"QYPPMyContributeListHead"];
imageView.userInteractionEnabled = YES;
[imageView addGestureRecognizer:[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(imageViewTap)]];
//footer用来当做内容高度
UIView *footerView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 0)];
footerView.backgroundColor = [UIColor groupTableViewBackgroundColor];
vc.placeHoderView = footerView;
vc.dataSource = self;
vc.headerView = imageView;
return vc;
}
(1) 悬浮样式
1.配置样式为YNPageScrollViewMenuStyleSuspension.
2.悬浮样式创建时候如果需要headerView则需要在外面统一提供headerView,footerView也要提供用来充当里面的内容高度。具体请看上面的OC代码。
3.还需要设置数据源提供三个数据源的方法。
4.目前只支持里面的内容是UITableView或UITableViewController,并且不能有FooterView.
5.在[self.tableView reloadData]后,需要调用刷新footerView的方法以计算需要填充的内容高度。[self.ynPageScrollViewController reloadPlaceHoderViewFrame];
6.具体请看上面的简书Demo代码.
(2) 导航条样&顶部样式
1. 设置样式为YNPageScrollViewMenuStyleNavigation(导航条)、样式YNPageScrollViewMenuStyleTop(顶部).
2. 实现数据源的一个方法返回ScrollView数据
3. 内容支持UITableView、UITableViewController、UICollectionViewController
4. 具体看Demo代码.