美文网首页iOS Developer
iOS-HQSliderView点击不同Button切换tabl

iOS-HQSliderView点击不同Button切换tabl

作者: 一位不愿透露姓名的王先生_ | 来源:发表于2016-11-15 09:16 被阅读476次

效果:

1. 自定义的点击Button切换不同TableViewCell,效果如图所示
HQSliderView.gif HQSliderView.gif

使用教程:

2.1 导入HQSliderView
拷贝HQSliderView到项目中.png
2.2 viewDidLoad方法里面
- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.view.backgroundColor = [UIColor whiteColor];
    
    [self setupTopSliderView];
    [self setupTableView];
}
2.3 创建上部SliderView
#pragma mark - 创建上部SliderView
- (void)setupTopSliderView
{
    HQSliderView *sliderView = [[HQSliderView alloc] initWithFrame:CGRectMake(0, NAV_HEIGHT, SCREEN_WIDTH, SLIDER_HEIGHT)];
    sliderView.titleArr = @[@"全部", @"待付款", @"已付款", @"退款"];
    sliderView.delegate = self;
    [self.view addSubview:sliderView];
}
2.4 创建TableView
#pragma mark - 创建TableView
- (void)setupTableView
{
    UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, NAV_HEIGHT + SLIDER_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT - NAV_HEIGHT)];
    tableView.dataSource = self;
    [self.view addSubview:tableView];
    self.tableView = tableView;
}
2.5 实现TableView的数据源方法
#pragma mark - UITableViewDataSource
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    if (self.menuTag == 0) {
        return 3;
    } else if (self.menuTag == 1) {
        return 6;
    } else if (self.menuTag == 2) {
        return 9;
    } else {
        return 12;
    }
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    HQTableViewCell *cell = [HQTableViewCell tableViewCellWithTableView:tableView];
    
    if (self.menuTag == 0) {
        cell.textLabel.text = [NSString stringWithFormat:@"全部 --- 第%ld行", indexPath.row];
    } else if (self.menuTag == 1) {
        cell.textLabel.text = [NSString stringWithFormat:@"待付款 --- 第%ld行", indexPath.row];
    } else if (self.menuTag == 2) {
        cell.textLabel.text = [NSString stringWithFormat:@"已付款 --- 第%ld行", indexPath.row];
    } else {
        cell.textLabel.text = [NSString stringWithFormat:@"退款 --- 第%ld行", indexPath.row];
    }
    
    return cell;
}
2.6 实现HQSliderView的代理方法
#pragma mark - HQSliderViewDelegate
- (void)sliderView:(HQSliderView *)sliderView didClickMenuButton:(UIButton *)button
{
    self.menuTag = button.tag;
    [self.tableView reloadData];
}

代码传送门:Demo示例

相关文章

网友评论

    本文标题:iOS-HQSliderView点击不同Button切换tabl

    本文链接:https://www.haomeiwen.com/subject/ufykpttx.html