当UITableView中有多个scetion的时候 索引应该怎样设置

当UITableView中有多个scetion的时候 索引应该怎样设置

这是我索引的响应方法实现,实际效果并不会跳转到正确的位置,请问老师我应该如何修改

-(NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index{

    NSIndexPath *path;

//前面八个索引关键字对应第一个section

    if (index<7) {

        path = [NSIndexPath indexPathForRow:index inSection:0];

    }

    if (index>7) {

        path = [NSIndexPath indexPathForRow:index-7 inSection:1];

    }

//    滚动到当前所要想展示的位置

//    参数列表 滚到的位置。滚动的方向。是否动画

    [tableView scrollToRowAtIndexPath:path atScrollPosition:UITableViewScrollPositionNone animated:true];


    return index;

}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
Tender10 2017-08-31 11:19:49

这个可以跟设置cell的时候一样,先判断是在那个区域,可以通过index.section获取区域,在通过index.row获取行。

  • 提问者 Griezmann3 #1
    -(NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index这个方法中index是NSInteger,怎么访问index.section与index.row这个数据呢?
    2017-08-31 15:49:31
  • Tender10 回复 提问者 Griezmann3 #2
    或者你可以在该方法中直接打印index值,然后你点击一个索引,打印出来的索引值就是那个索引的index值,这个分区其实不印象,因为你点击的索引,该代理方法会自动获取到该索引的index值,然后完成跳转方法即可。你可以先尝试一下。
    2017-08-31 15:59:00
提问者 Griezmann3 2017-08-30 11:29:10

我的代码其他部分实际上就plist文件跟视频案例上面不一样,视频中使用的是只有一个section的tableview 我这里用的之前面视频案例中  拥有教皇组与雅典娜组两个section的plist文件。  

http://img1.sycdn.imooc.com/climg//59a62f210001bbd917640610.jpg

http://img1.sycdn.imooc.com/climg//59a62f210001a2f211940768.jpg

麻烦老师看一下问题出在哪里了  谢谢

Tender10 2017-08-30 10:52:05

这样没办法去检测,你可以将您的代码都贴出来吗,便于更精确的查找问题。不过位置跳转不正确,你可以调整一下你的逻辑判断,因为你的是0~7,然后7到后面的,但是第一个section应该包含索引7。

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
iOS进阶:界面优化与数据存储
  • 参与学习       516    人
  • 提交作业       158    份
  • 解答问题       637    个

本路径采用基础+案例方式,助你解开对界面优化、数据储存、屏幕适配的疑惑。6小时团购项目实战加最新版本Swift讲解,让你掌握更多iOS开发技巧。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师