我已经以编程方式在索引0的节中创建了3个单元格的UITableView。现在,当我在该部分的索引0的单元格中翻转UISwitch时,它会动画化第三个单元格的插入。

不幸的是,我在UITableViewRowAnimation的末尾看到了这些奇怪的行,如下图所示。动画删除单元格时也会发生同样的情况。

http://cl.ly/0l120K091b3s0h3J1l3m

有人可以告诉我如何解决此问题吗?看起来真的很丑。这里是当UISwitch打开时执行的代码:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

NSArray *rowAtIndex2inSectionAtIndex0 =
        [NSArray arrayWithObject:
        [NSIndexPath indexPathForRow:2 inSection:0]];

if ([defaults boolForKey:@"one"] == 1 &&
    [defaults boolForKey:@"two"] == 1 &&
    numberOfRowsInSection0 == 2)
{
    numberOfRowsInSection0++;

    [self.tableView
    insertRowsAtIndexPaths:rowAtIndex2inSectionAtIndex0
    withRowAnimation:UITableViewRowAnimationTop];
}

最佳答案

检查您要返回的行高,并确保它们是整数而不是分数。

关于objective-c - 带有可见缺陷的UITableViewRowAnimation,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8378320/

10-13 06:03