你也可以使用cocoapod管理:
pod "NHBarScrollTool"
-
添加NHBarScrollTool的代理对象,是个数组,可以添加多个对象,被添加进去的对象都可以接收到scrollView的代理方法:
barScrollTool.delegateTargets = @[ self ];
-
把tableView的代理设置为:
self.tableView.delegate = self.barScrollTool;
-
设置barScrollToolr的代理:
_barScrollTool.delegateTargets = ...
@interface UIViewController ()
@property (weak, nonatomic) IBOutlet UITableView *tableView;
@property (nonatomic, strong) NHBarScrollTool *barScrollTool;
@end
- (void)viewDidLoad {
[super viewDidLoad];
[self setupTableView];
}
- (void)setupTableView {
self.tableView.dataSource = self;
self.tableView.delegate = self.barScrollTool;
}
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
//如果是使用autolayout、mansory布局,需要在`viewDidLayoutSubviews`函数中调用此更新约束
[self.barScrollTool updateConstraints];
}
- (NHBarScrollTool *)barScrollTool {
if (!_barScrollTool) {
UINavigationBar *navB = self.navigationController.navigationBar;
UITabBar *tabB = self.tabBarController.tabBar;
_barScrollTool = [NHBarScrollTool barToolWithController:self
scrollView:_tableView
navigationBar:navB
tabBar:tabB];
_barScrollTool.delegateTargets = @[ self ];
//中间按钮凸出部份的高度(如果有)
_barScrollTool.tabBarBulgeOffset = 20;
}
return _barScrollTool;
}
比较忙,没写太细节,关键代码里面有注释,欢迎使用。