UITableViewCell setHighlighted,setSelected"animateAlongsideTransition"或类似

use*_*702 5 uitableview ios swift

我希望能够将自定义动画添加到UITableViewCell的子类,这些子类将覆盖以下方法:

override func setHighlighted(highlighted: Bool, animated: Bool) {

}

override func setSelected(selected: Bool, animated: Bool) {

}
Run Code Online (Sandbox Code Playgroud)

并匹配这些方法执行的默认动画的动画曲线和动画持续时间.

换句话说,我如何找到Apple提供的有关当前动画的信息.我需要这个来添加我自己的自定义动画,完全匹配默认动画

Sté*_*ier 5

您可以在表视图中对自定义单元格进行子类化。

在这里,我在 Swift 中创建了一个简单的示例,在其中更改单元格内标签的值:

import UIKit

class userTableViewCell: UITableViewCell {
@IBOutlet weak var userLabel: UILabel!

override func awakeFromNib() {
    super.awakeFromNib()
    self.highlighted = false
    self.userLabel.alpha = 0.0
    // Initialization code
}

override func setSelected(selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)
    if selected {
        self.highlighted = true
    } else {
        self.highlighted = false
    }

    // Configure the view for the selected state
}

override var highlighted: Bool {
    get {
        return super.highlighted
    }
    set {
        if newValue {
            // you could put some animations here if you want
            UIView.animateWithDuration(0.7, delay: 1.0, options: .CurveEaseOut, animations: {
                self.userLabel.text = "select"
                self.userLabel.alpha = 1.0

                }, completion: { finished in
                print("select")
            })
        }
        else {
            self.userLabel.text = "unselect"
        }
        super.highlighted = newValue
    }
}

}
Run Code Online (Sandbox Code Playgroud)

通过故事板,您必须具备以下内容: Xcode 故事板的屏幕截图

  • 我的意思是如何在那些与超类(UITableViewCell)的默认动画的动画曲线和长度相匹配的覆盖中添加动画? (2认同)