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