zoukankan      html  css  js  c++  java
  • UITableView 的didSelectRowAtIndexPath和didDeselectRowAtIndexPath

      今天被UITableView给坑了一道,我写了一个横向的UITableView

    如图,通过这两个方法实现需求的触发事件,但是能同时选中两个index,

    据说UITableView不会管视图外的indexpath,所以重点来了

    自己定义一个indexpath,直接上代码

     NSIndexPath *_selectedIdxPath;

    其他的都跟平常的UITableView一样的,只是初始化cell的时候需要这么做

    //这是自定义的cell,按自己的需求来
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        static NSString *identifier = @"filiter";
       FilterChooseTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
        if (!cell)
        {
            cell = [[FilterChooseTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
        }
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        [cell setImgViewImg:[UIImage imageNamed:_filiterData[indexPath.row]]];
        cell.contentView.transform = CGAffineTransformMakeRotation(M_PI / 2);
    //这是未选中的调用的方法,初始化cell的时候,恢复原状
    [cell DownVideoWitnAnimation:NO]; 
    if (indexPath == _selectedIdxPath)
    {
    [cell MoveUpVideoWithAnimation:NO];
    }
    return cell;
    }
    //选中
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { FilterChooseTableViewCell *cell = (FilterChooseTableViewCell *)[tableView cellForRowAtIndexPath:indexPath]; [cell MoveUpVideoWithAnimation:YES];

           _selectedIdxPath = indexPath;

    
    
    }
    //未选中
    - (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
    {
        FilterChooseTableViewCell *cell = (FilterChooseTableViewCell *)[tableView cellForRowAtIndexPath:indexPath];
        [cell DownVideoWitnAnimation:YES];
    
    }
  • 相关阅读:
    手搓一个兔子问题(分享一个C语言问题,持续更新...)
    一个C语言萌新的学习之旅(持续更新中...)
    ...续上文(一个小萌新的C语言之旅)
    手搓一个C语言简单计算器。
    嘿,C语言(持续更新中...)
    一个博客萌新的博客之旅。。。。
    vue+uikit3+laravel快速建站
    mpvue开发博客园小程序
    C语言俄罗斯方块小游戏练习
    c语言贪吃蛇小游戏练习
  • 原文地址:https://www.cnblogs.com/qianyindichang/p/4284061.html
Copyright © 2011-2022 走看看