我想更新 UITableView
中的一行 UiSwitch
。我想以编程方式使用动画来打开和关闭它。
NSIndexPath *indexPath = [[NSIndexPath indexPathForRow:0 inSection:lastSelectedCardSectionNumber] retain];
newCell *cell = (newCell *)[self.myTableView dequeueReusableCellWithIdentifier:@"newCell" forIndexPath:indexPath];
[cell.switch1 setOn:YES animated:YES];
但是上面的行不会改变状态,我必须重新加载行,这不会使 UiSwitch 状态随动画改变。
开关顶部有一个 View ,用户点击它可以更改开关的状态。但它应该只在某些情况下改变。因此我不允许用户更改它,我想以编程方式更改它。
最佳答案
问题在于您如何检索单元格
。应该是:
newCell *cell = (newCell *)[self.tableView cellForRowAtIndexPath:indexPath];
不是这个:
newCell *cell = (newCell *)[self.myTableView dequeueReusableCellWithIdentifier:@"newCell" forIndexPath:indexPath];
前者获取已存在的单元格实例,但后者创建单元格的新实例。
关于ios - 如何在不重新加载 Objective-C 行的情况下更改行中的特定元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53457691/