ios - 如何使用 Swift 为 UICollectionView 单元格设置动画成为一个圆圈?

标签 ios xcode swift animation uianimation

当用户选择一个单元格时,我希望该单元格从正方形变为圆形。我正在使用这段代码,但它没有动画,为什么?

注意:代码在swift中。

cell.layer.cornerRadius = 7
    cell.clipsToBounds = true


    UIView.animateWithDuration(0.5, animations: {
        cell.layer.cornerRadius = self.cell.frame.height / 2
        cell.clipsToBounds = true
    })

最佳答案

在单元格的 contentView 中的一些 View 上试试这个

let corner = self.aView.frame.size.width/2

let animation = CABasicAnimation(keyPath: "cornerRadius")
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)
animation.fromValue = 0
animation.toValue = corner
animation.duration = 1.0

self.aView.layer.cornerRadius = corner
self.aView.layer.addAnimation(animation, forKey: "cornerRadius")

关于ios - 如何使用 Swift 为 UICollectionView 单元格设置动画成为一个圆圈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29955494/

相关文章:

ios - 如何将图像图标附加到 `UIActivityViewController` ?

xcode - Flutter:类型 'UIApplication' 没有成员 'openSettingsURLString'

ios - 此iPhone运行的是iOS 12.0(16A366),此版本的Xcode可能不支持

ios - 快速 TextView 和标签在 UITableviewcell 中返回空文本

swift - 枚举作为字典的键

ios - Xcode 9 - 无法发出预编译 header

iOS 11 动画大标题显示模式

ios - 如何知道 tableview 行是奇数还是什至不可知它所在的部分

ios - 将普通搜索栏更改为下图,如搜索栏

ios - 当我将 UITableView 添加到 subview 时,单元格不可选择