【发布时间】:2016-06-24 14:17:59
【问题描述】:
我有一个奇怪的问题,关于我们正在应用中的临时修复。出于可怕的原因,我们有一个包含三个段的分段控件,但我们在三个 tableView 数据源中拥有每个分段控件的三个实例(不要问,我们希望这不是最终解决方案......)
无论如何,由于这种糟糕的设置,当我们选择一个新段时,分段控件的实例 A 会选择它的新索引。然后我们换出数据源并在桌子上调用reloadData。现在我们选择了分段控件的实例 B,其索引与选定的实例 A 相同。然后,当我们选择原始段时,实例 B 将其索引设置为新索引,我们现在重新加载数据,这会导致显示实例 A。然而,实例 A 仍然选择了旧索引,因此它的选择显示了错误的索引。
我目前正在通过手动重置委托回调中的选定索引来解决这个问题。但是,理想的情况是告诉分段控件我不希望它改变它的选择,但我仍然希望用户能够与之交互。这有可能吗?我意识到这是一个糟糕的解决方案,再次,我们希望将来改变它,所以现在,对我有什么建议吗?
【问题讨论】:
标签: ios objective-c swift uisegmentedcontrol