需求

一图胜千言!

触摸右侧索引栏时
需要展示对应的组号名称
手指离开时消失


实现

通过Xcode查看视图层次结构
右侧索引视图的继承关系
是这样的:

UITableViewIndex
UIControl
UIView
UIResponder
NSObject

很显然UITableViewIndex 是私有的
但是UIControl 是公开的

于是
通过遍历tableView的子视图来获取它

- (void)reloadData
{[_tableView reloadData];for (UIView *view in _tableView.subviews) {if ([view isKindOfClass:[UIControl class]]) {_indexControl = (UIControl *)view;}}
}

接着
在代理方法里面
处理相关逻辑就OK了

/// 点击右侧索引时的代理方法
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index
{_sectionLabel.text = title;  // 显示 组号标题 的Labelif (_sectionLabel.hidden) { // 隐藏了,显示它_sectionLabel.hidden = NO;}// 延迟 1 秒隐藏dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{//  isTracking: A Boolean value indicating whether the control is currently tracking touch events.if (!_indexControl.isTracking) { // 没有触摸时,隐藏它_sectionLabel.hidden = YES;}});return index;
}

一个有趣的点赞动画

https://github.com/xjh093/JHLikeButton


iOS tableView 右侧索引视图状态获取相关推荐

  1. 开源 iOS 项目分类索引大全 - 待整理

    开源 iOS 项目分类索引大全 GitHub 上大概600个开源 iOS 项目的分类和介绍,对于你挑选和使用开源项目应该有帮助 系统基础库 Category/Util sstoolkit 一套Cate ...

  2. iOS TableView 使用详解

     IOS TableView 详解 一.建立 UITableView DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, ...

  3. iOS TableView多级列表

    代码地址如下: http://www.demodashi.com/demo/15006.html 效果预览 一.需求 TableView多级列表:分级展开或合并,逐级获取并展示其子级数据,可以设置最大 ...

  4. 【Android 仿微信通讯录 导航分组列表-下】自定义View为RecyclerView打造右侧索引导航栏IndexBar

    本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 转载请标明出处: http://blog.csdn.net/zxt0601/article/details/52420706 本文出 ...

  5. IOS开发问题索引(四)

    全系列文章索引: IOS开发问题索引(一) IOS开发问题索引(二) IOS开发问题索引(三) IOS开发问题索引(四) IOS开发问题索引(五) IOS开发问题索引(六) IOS开发问题索引(七) ...

  6. python使用np.argsort对一维numpy概率值数据排序获取倒序索引、获取的top索引(例如top2、top5、top10)索引二维numpy数组中对应的原始数据:原始数据概率最大的头部数据

    python使用np.argsort对一维numpy概率值数据排序获取倒序索引.获取的top索引(例如top2.top5.top10)索引二维numpy数组中对应的原始数据:原始数据概率最大的头部数据 ...

  7. python使用np.argsort对一维numpy概率值数据排序获取升序索引、获取的top索引(例如top2、top5、top10)索引二维numpy数组中对应的原始数据:原始数据概率最小的头部数据

    python使用np.argsort对一维numpy概率值数据排序获取升序索引.获取的top索引(例如top2.top5.top10)索引二维numpy数组中对应的原始数据:原始数据概率最小的头部数据 ...

  8. iOS tableview的常用delegate和dataSource执行顺序

    在这次项目中遇到了一个特别奇葩的问题:表视图创建的cell在7以上的系统能正常运行显示,在模拟器上就不能正常实现......为解决这个问题,纠结了好久...... 对在7系统上不显示的猜测: 用mas ...

  9. ios tableview分组间距

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { // ios ta ...

最新文章

  1. 年度国家科学技术奖:高文周志华王海峰唐杰等上榜,两位“30后”院士获最高奖...
  2. Codeforces#371 Div2
  3. [20180818]校内模拟赛
  4. 30.Node.js 全局对象
  5. mysql 概念和逻辑架构
  6. 全世界最顶级的开发者都在使用什么数据库
  7. java学习(135):map中泛型使用
  8. 关于DMA的两个小知识点
  9. TCP/IP协议栈的封装
  10. Unbuntu学习笔记之安装vmware tools
  11. php学生成绩系统,php019学生信息学生成绩系统
  12. 基于51单片机超声波测距仪倒车雷达报警器汽车防撞系统套件
  13. matlab已知热敏电阻数据,Matlab在热敏电阻特性测量实验中的应用
  14. 输入小写字母转换为大写字母
  15. 狂神说Springboot
  16. Linux:it is too simplistic/systematic解决办法~
  17. Maya: Time Editor Maya教程:时间编辑器 Lynda课程中文字幕
  18. JS-移除class
  19. 在线教育的鲶鱼“肥瘦不均”
  20. Java应用系列之Pinyin4j简单使用教程

热门文章

  1. 关于网络密码的可怕真相
  2. vue项目 使用百度云 cyberplayer.js插件方法
  3. Python使用FTP上传文件
  4. linux 街机列表,linux下街机模拟器联机
  5. android 多个按钮居中,Android手机开发 使用线性布局和相对布局实现Button垂直水平居中...
  6. 计算机是如何跑起来的--读书笔记
  7. java中使用length获取二维数组的长度
  8. 如何设置外部链接优化
  9. 第十四届蓝桥杯大赛软件赛省赛 C/C++ 大学 B 组
  10. 《卓有成效的管理者》——学习心得(五)