CollectionViewCell
안에 UIImageView
의 애니메이션을 적용하는 데 문제가 있습니다. Auto Layout
으로보기를 설정했는데 문제가 발생할 수 있는지 확실하지 않습니다.셀의 CGAffineTransform 애니메이션이 작동하지 않습니다.
didEndDisplaying
으로 전화를 시도했지만 결과가없는 경우. 셀 애니메이션을 호출하기위한 적절한 라이프 사이클 기능은 무엇입니까?
코드 :
import UIKit
class ProfileCell: UICollectionViewCell {
....
let backgroundImageView: UIImageView = {
let iv = UIImageView(frame: .zero)
iv.contentMode = .scaleAspectFill
iv.image = UIImage(named: "lustrum2017")
iv.clipsToBounds = true
return iv
}()
var blurView: UIVisualEffectView = {
let be = UIBlurEffect(style: .light)
let vv = UIVisualEffectView(effect: be)
return vv
}()
let profileImageView: UIImageView = {
let iv = UIImageView()
iv.image = UIImage(named: "dummy")
iv.contentMode = .scaleAspectFill
iv.layer.cornerRadius = 40
iv.layer.masksToBounds = true
iv.layer.borderColor = Colors.primaryColor.cgColor
iv.layer.borderWidth = 1.0
iv.transform = CGAffineTransform(scaleX: 0.001, y: 0.001)
return iv
}()
override init(frame: CGRect) {
super.init(frame: frame)
setupViews()
animateViews()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
private func animateViews() {
self.profileImageView.transform = CGAffineTransform(scaleX: 1, y: 1)
UIView.animate(withDuration: 0.45, animations: {
self.layoutIfNeeded()
}, completion: nil)
}
private func setupViews() {
contentView.addSubview(backgroundImageView)
contentView.addSubview(blurView)
contentView.addConstraintsWithFormat("H:|[v0]|", views: backgroundImageView)
contentView.addConstraintsWithFormat("V:|[v0(150)]", views: backgroundImageView)
contentView.addConstraintsWithFormat("H:|[v0]|", views: blurView)
contentView.addConstraintsWithFormat("V:|[v0(150)]", views: blurView)
blurView.addSubview(profileImageView)
blurView.addConstraintsWithFormat("H:|-\(frame.width/2 - 40)-[v0(80)]-\(frame.width/2 - 40)-|", views: profileImageView)
blurView.addConstraintsWithFormat("V:|[v0(80)]", views: profileImageView)
}
....
}
을 사용해야합니다. 애니메이션을 적용해야하는 경우? 먼저 초기 값을 설정해야하며 원하는 값으로 애니메이션을 적용 할 수 있습니다. 예 : 변환 값을 0.75로 설정하고 1.0으로 설정합니다. 그런 식으로. – Mannopson
여러분도 알다시피 이미지 뷰를 만들 때 이미 그랬습니다. – SwingerDinger
UICollectionViewCell의 사용자 지정 클래스입니다. 권리? – Mannopson