Objective c UITableViewRowAnimation具有可见缺陷

Objective c UITableViewRowAnimation具有可见缺陷,objective-c,ios,cocoa-touch,uitableview,Objective C,Ios,Cocoa Touch,Uitableview,我以编程方式创建了一个UITableView,在索引0处的节中有3个单元格。现在,当我在该部分中索引为0的单元格中翻转UISwitch时,它会为插入第三个单元格设置动画 不幸的是,我在UITableViewRow动画的末尾看到了这些奇怪的线条,如下图所示。在设置单元格删除动画时也会发生同样的情况 有人能告诉我怎么解决这个问题吗?它看起来真难看。以下是UISwitch打开时执行的代码: NSUserDefaults *defaults = [NSUserDefaults standardUser

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

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

有人能告诉我怎么解决这个问题吗?它看起来真难看。以下是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];
}

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

我发现您提到的任意线中间过渡可以通过以下方式删除:-

    [self.tableView setSeparatorStyle:UITableViewCellSelectionStyleNone];

你是说牢房的高度吗?我没有为单元格设置自定义高度。如果不是通过tableviewdelegate,您如何指定tableview行高度?因为我没有设置自定义高度,所以我认为表格视图将选择默认值。我希望我的表格视图与苹果的一模一样,例如Settings.app。我唯一指定的是页脚和页眉高度。也许可以尝试使用以下命令在tableview委托中显式设置行高度:
-(CGFloat)tableview:(UITableView*)tableview heightForRowAtIndexPath:(NSIndexPath*)indexPath
我在两个不同的项目中添加了这一点,同样的情况一直发生:(:
-(CGFloat)tableview:(UITableView*)表视图行高度索引路径:(NSIndexPath*)索引路径{return 44.0;}