【问题标题】:UITableViewCell setHighlighted, setSelected "animateAlongsideTransition" or similarUITableViewCell setHighlighted, setSelected "animateAlongsideTransition" 或类似
【发布时间】:2017-05-24 02:42:36
【问题描述】:

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

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

}

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

}

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

也就是说,我怎样才能找到苹果提供的当前动画的信息。我需要这个来添加我自己的与默认动画完全匹配的自定义动画

【问题讨论】:

    标签: ios swift uitableview


    【解决方案1】:

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

    在这里,我在 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 有一个很棒的教程here
    • 谢谢斯特凡。这不是我想要的:并匹配这些方法执行的默认动画的动画曲线和动画持续时间。我已经更新了我的问题以提高清晰度
    • 啊,是的;)。现在我明白了。
    • 短:self.highlighted = selected
    猜你喜欢
    • 1970-01-01
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    • 2023-03-08
    • 1970-01-01
    相关资源
    最近更新 更多