我想在UiSwitch中连续更新一个UITableView。我想以编程方式使它与动画一起打开和关闭。

    NSIndexPath *indexPath = [[NSIndexPath indexPathForRow:0 inSection:lastSelectedCardSectionNumber] retain];
    newCell *cell = (newCell *)[self.myTableView dequeueReusableCellWithIdentifier:@"newCell" forIndexPath:indexPath];
    [cell.switch1 setOn:YES animated:YES];


但是上面的行不会更改状态,我必须重新加载行,这不会使UiSwitch的状态随着动画而更改。



开关上方有一个视图,用户可以点击它以更改开关的状态。但应该在某些情况下进行更改。因此,我不允许用户更改它,而我想以编程方式进行更改。

最佳答案

问题在于您如何检索cell。它应该是:

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/

10-09 04:22