标签:ios开发
场景:
我在一个项目中遇到了如下情况:在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 UITableView和UITableViewIndex
标签:ios开发
原文地址:http://blog.csdn.net/u013087068/article/details/47099757