ios UITableView和UITableViewIndex
2015-07-28 09:15
1066 查看
场景:
我在一个项目中遇到了如下情况:在ViewController中有一个UITableView, 在tableView中的每个cell上的最右边都添加了一个按钮,然后给tableView加上了索引栏之后就会发现添加在cell上的按钮不能按,无法响应出发事件
分析:找到相应的代码文件,点击下面的视图概览按钮(Debug view Hierarchy)就可以看到大概的视图 。
我们也可以把所有tableView的子视图都打印出来:可以知道分别有UITableViewIndex 和 UITableviewWrapperview的两个视图,但是我们在苹果的官方文档上找不到相关的的信息,我们可以通过设置他们的边框可以知道:UITableViewIndex就是索引视图 UITableviewWrapperview视图的大小就是tableView在屏幕中出现第一个完整的屏幕大小的视图。
于是我们就可以把cell上的按钮放到UITableViewIndex上面,按照这样的思路进行编码之后,打开视图概览发现按钮仍然是出现在索引视图的下面,运行之后按钮还是不能响应
解决策略:我们可以把按钮添加在Controller上的view上面,然后实现UITableView的UIScrollViewDelegate协议,通过实现方法
-(void) scrollViewDidScroll:(UIScrollView *)scrollView来设置button所在的位置,这样button可以随着cell移动,还可以响应出发事件。
我在一个项目中遇到了如下情况:在ViewController中有一个UITableView, 在tableView中的每个cell上的最右边都添加了一个按钮,然后给tableView加上了索引栏之后就会发现添加在cell上的按钮不能按,无法响应出发事件
分析:找到相应的代码文件,点击下面的视图概览按钮(Debug view Hierarchy)就可以看到大概的视图 。
我们也可以把所有tableView的子视图都打印出来:可以知道分别有UITableViewIndex 和 UITableviewWrapperview的两个视图,但是我们在苹果的官方文档上找不到相关的的信息,我们可以通过设置他们的边框可以知道:UITableViewIndex就是索引视图 UITableviewWrapperview视图的大小就是tableView在屏幕中出现第一个完整的屏幕大小的视图。
于是我们就可以把cell上的按钮放到UITableViewIndex上面,按照这样的思路进行编码之后,打开视图概览发现按钮仍然是出现在索引视图的下面,运行之后按钮还是不能响应
解决策略:我们可以把按钮添加在Controller上的view上面,然后实现UITableView的UIScrollViewDelegate协议,通过实现方法
-(void) scrollViewDidScroll:(UIScrollView *)scrollView来设置button所在的位置,这样button可以随着cell移动,还可以响应出发事件。
相关文章推荐
- iOS开发之路--微博“更多”页面
- iOS开发之路--微博骨架搭建
- IOS开发代码分享之获取启动画面图片的string
- IOS开发之路--C语言数组和字符串
- IOS开发代码分享之用nstimer实现倒计时功能
- IOS开发代码分享之设置UISearchBar的背景颜色
- ios开发之环境搭建-01
- 在开发iOS程序时对日期处理的总结
- iOS开发——keychain的使用
- iOS Graphics Technologies iOS 图形技术
- iOS开发异常错误总结
- 学习Objective-C:入门手册
- iOS开发 简单实现视频音频的边下边播
- iOS开发 — Quartz 2D知识点应用 (制作了一个Demo,源代码)
- ios开发对配置文件plist的操作
- iphone5和4的屏幕兼容问题
- 9秒的课程只为培养靠谱的IOS和HTML5开发人才而定制
- iOS开发学习笔记 1-0 开篇
- iOS开发学习笔记 2-1 C语言部分 初识C语言
- iOS开发学习笔记 2-2 C语言部分 类型、运算符与表达式