Ios UIRefresh无需直观地重新加载整个表

Ios UIRefresh无需直观地重新加载整个表,ios,swift,uitableview,pull-to-refresh,Ios,Swift,Uitableview,Pull To Refresh,我有一个UITableview,我有一个pull-to-refresh工作,它清空所有数组,获取数据填充它们,然后重新加载表。在我的自定义动画中,当整个桌子消失并重新激活时,它看起来非常糟糕。我希望它能够更新数据,并在需要时添加一行或删除一行,而不会闪烁整个表。 下面是发生的情况的gif: 用于设置表格单元格动画的代码: func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtI

我有一个UITableview,我有一个pull-to-refresh工作,它清空所有数组,获取数据填充它们,然后重新加载表。在我的自定义动画中,当整个桌子消失并重新激活时,它看起来非常糟糕。我希望它能够更新数据,并在需要时添加一行或删除一行,而不会闪烁整个表。 下面是发生的情况的gif:

用于设置表格单元格动画的代码:

func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {

     var cellContentView: UIView = cell.contentView
     var rotationAngleDegrees: CGFloat = -30
     var rotationAngleRadians: CGFloat = rotationAngleDegrees * (3.14159 / 180)
     var offsetPositioning: CGPoint = CGPointMake(500, -20.0)
     var transform: CATransform3D = CATransform3DIdentity
     transform = CATransform3DRotate(transform, rotationAngleRadians, -50.0, 0.0, 1.0)
     transform = CATransform3DTranslate(transform, offsetPositioning.x, offsetPositioning.y, -50.0)
     cellContentView.layer.transform = transform
     cellContentView.layer.opacity = 0.8
     UIView.animateWithDuration(0.65, delay: 0.0, usingSpringWithDamping: 0.85, initialSpringVelocity: 0.8, options: [], animations: {() -> Void in
     cellContentView.layer.transform = CATransform3DIdentity
     cellContentView.layer.opacity = 1
     }, completion: {(finished: Bool) -> Void in
     })

}
刷新控件的代码:

func refresh(sender: AnyObject)
{

    nameArray = []
    textArray = []
    userArray = []
    latArray = []
    longArray = []
    timeArray = []
    locTextArray = []
    category = []
    eventID = []
    priceArray = []

    getData()  // gets server data

    tableView.reloadData()

    refreshControl?.endRefreshing()
}

可能重复您的gif链接不工作。已修复gif: