您的位置:首页 > 产品设计 > UI/UE

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移动,还可以响应出发事件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios开发