Ios UITableViewCell setHighlighted,setSelected";“动画长边过渡”;或类似
我希望能够将自定义动画添加到UITableViewCell的子类中,这些子类将覆盖以下方法:Ios UITableViewCell setHighlighted,setSelected";“动画长边过渡”;或类似,ios,swift,uitableview,Ios,Swift,Uitableview,我希望能够将自定义动画添加到UITableViewCell的子类中,这些子类将覆盖以下方法: override func setHighlighted(highlighted: Bool, animated: Bool) { } override func setSelected(selected: Bool, animated: Bool) { } 和为这些方法执行的默认动画匹配动画曲线和动画持续时间 换句话说,我怎样才能找到苹果公司提供的关于当前动画的信息。我需要它来添加我自己的自定
override func setHighlighted(highlighted: Bool, animated: Bool) {
}
override func setSelected(selected: Bool, animated: Bool) {
}
和为这些方法执行的默认动画匹配动画曲线和动画持续时间
换句话说,我怎样才能找到苹果公司提供的关于当前动画的信息。我需要它来添加我自己的自定义动画,使其与默认动画完全匹配您可以在表视图中将自定义单元格子类化 在这里,我在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
}
}
}
通过故事板,您必须具备:
我的意思是如何在那些与超类(UITableViewCell)默认动画的动画曲线和长度相匹配的覆盖中添加动画?我已经用动画编辑了代码。有一个来自raywenderlich的很棒的教程,谢谢Stéphane。但这并不是我想要的:并为这些方法执行的默认动画匹配动画曲线和动画持续时间。我已经更新了我的问题以提高clarityAh(是的;)。现在我明白了。Shorter:
self.highlighted=selected