// // SPImageView.swift // ShortPlay // // Created by 曾觉新 on 2025/4/9. // import UIKit class SPImageView: UIImageView { var placeholderColor = UIColor.gray override init(frame: CGRect) { super.init(frame: frame) _init() } override init(image: UIImage?) { super.init(image: image) _init() } override init(image: UIImage?, highlightedImage: UIImage?) { super.init(image: image, highlightedImage: highlightedImage) _init() } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } func _init() { self.contentMode = .scaleAspectFill self.layer.masksToBounds = true if image == nil { self.backgroundColor = self.placeholderColor } } override var image: UIImage? { didSet { if self.backgroundColor == nil && image == nil { self.backgroundColor = self.placeholderColor } else if image != nil { if self.backgroundColor == self.placeholderColor { self.backgroundColor = nil } } } } }