切换段控制时遇到崩溃

时间:2017-11-29 11:04:16

标签: ios swift uisegmentedcontrol

我有一个包含4个段的桌面视图。在第一段我加载了76行,在段3我有4行,在第4段我有大约25行&在段2中没有任何内容。如果每个段中的行没有向下滚动并且所有段都在顶部(即第一行在每个段的总行数中可见)那么无论我怎么样切换标签,不会有任何崩溃。

但是比如说,如果在第1段,我向下滚动行然后转移到第3段,然后发生了fatal error: Index out of range的崩溃。可能是由于两个选项卡上的行数不匹配。但不确定修复。希望有人能帮忙......

1 个答案:

答案 0 :(得分:-1)

从这个案例中,我开始明白你正在使用相同的UITableView三个片段,当你改变片段时,我知道你的电话tableView.reloadData(),因为一个片段有更多的数据和其他滚动tableView时没有。 tableView的其他分段数据源中没有的可见索引位置因为只有你崩溃了并且解决方案需要滚动到第0个索引,如果count大于0则重新加载tableView

在更改要填充的值之前单击其他部分时滚动回第0个索引

 if listArray.count > 0{
      let index = IndexPath(row: 0, section: 0)
      self.tableView.scrollToRow(at: index, at: .bottom, animated: false)
 } 

然后将clickedSegement的值更改为listArray

然后重新加载tableview

self.tableView.reloadData()

希望这会对您有所帮助