iOS tableView 右侧索引视图状态获取
需求
一图胜千言!
在触摸
右侧索引栏时
需要展示对应的组号名称
手指离开
时消失
实现
通过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 右侧索引视图状态获取相关推荐
- 开源 iOS 项目分类索引大全 - 待整理
开源 iOS 项目分类索引大全 GitHub 上大概600个开源 iOS 项目的分类和介绍,对于你挑选和使用开源项目应该有帮助 系统基础库 Category/Util sstoolkit 一套Cate ...
- iOS TableView 使用详解
IOS TableView 详解 一.建立 UITableView DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, ...
- iOS TableView多级列表
代码地址如下: http://www.demodashi.com/demo/15006.html 效果预览 一.需求 TableView多级列表:分级展开或合并,逐级获取并展示其子级数据,可以设置最大 ...
- 【Android 仿微信通讯录 导航分组列表-下】自定义View为RecyclerView打造右侧索引导航栏IndexBar
本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 转载请标明出处: http://blog.csdn.net/zxt0601/article/details/52420706 本文出 ...
- IOS开发问题索引(四)
全系列文章索引: IOS开发问题索引(一) IOS开发问题索引(二) IOS开发问题索引(三) IOS开发问题索引(四) IOS开发问题索引(五) IOS开发问题索引(六) IOS开发问题索引(七) ...
- python使用np.argsort对一维numpy概率值数据排序获取倒序索引、获取的top索引(例如top2、top5、top10)索引二维numpy数组中对应的原始数据:原始数据概率最大的头部数据
python使用np.argsort对一维numpy概率值数据排序获取倒序索引.获取的top索引(例如top2.top5.top10)索引二维numpy数组中对应的原始数据:原始数据概率最大的头部数据 ...
- python使用np.argsort对一维numpy概率值数据排序获取升序索引、获取的top索引(例如top2、top5、top10)索引二维numpy数组中对应的原始数据:原始数据概率最小的头部数据
python使用np.argsort对一维numpy概率值数据排序获取升序索引.获取的top索引(例如top2.top5.top10)索引二维numpy数组中对应的原始数据:原始数据概率最小的头部数据 ...
- iOS tableview的常用delegate和dataSource执行顺序
在这次项目中遇到了一个特别奇葩的问题:表视图创建的cell在7以上的系统能正常运行显示,在模拟器上就不能正常实现......为解决这个问题,纠结了好久...... 对在7系统上不显示的猜测: 用mas ...
- ios tableview分组间距
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { // ios ta ...
最新文章
- 年度国家科学技术奖:高文周志华王海峰唐杰等上榜,两位“30后”院士获最高奖...
- Codeforces#371 Div2
- [20180818]校内模拟赛
- 30.Node.js 全局对象
- mysql 概念和逻辑架构
- 全世界最顶级的开发者都在使用什么数据库
- java学习(135):map中泛型使用
- 关于DMA的两个小知识点
- TCP/IP协议栈的封装
- Unbuntu学习笔记之安装vmware tools
- php学生成绩系统,php019学生信息学生成绩系统
- 基于51单片机超声波测距仪倒车雷达报警器汽车防撞系统套件
- matlab已知热敏电阻数据,Matlab在热敏电阻特性测量实验中的应用
- 输入小写字母转换为大写字母
- 狂神说Springboot
- Linux:it is too simplistic/systematic解决办法~
- Maya: Time Editor Maya教程:时间编辑器 Lynda课程中文字幕
- JS-移除class
- 在线教育的鲶鱼“肥瘦不均”
- Java应用系列之Pinyin4j简单使用教程