美文网首页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