我有一个包含UISlider
控件的自定义UITableViewCell和一个显示滑块位置当前文本值的UILabel。我想在拖动滑块旋钮时更新标签。以下是基本要素。
的cellForRowAtIndexPath: 此例程获取数据并更新滑块值和与之关联的标签。
sliderValueChanged: 此例程读取滑块值更新数据。 然后调用[table reloadData],以便更新标签。
问题: 不知何故,reloadData正在中断更新流程。如果我替换NSLog而不是reloadData,我会得到一个很好的更新流,显示滑块的值。为了防止循环,我将测试设置为不设置滑块值或调用reloadData,除非值不同。这没有解决问题。
非常感谢任何帮助!
答案 0 :(得分:6)
问题是由[table reloadData]引起的,它似乎正在创建一个新的Cell对象,因此更新相同的滑块不起作用。正确的实现是将引用的单元格放在sliderValueChanged例程中并从那里设置标签。将标记设置为滑块以指示行,然后调用方法以获取具有索引路径的单元格。
答案 1 :(得分:1)