This commit is contained in:
zeng 2026-03-20 14:58:32 +08:00
parent 5eb4be4a68
commit 9d055af0f0

View File

@ -11,13 +11,14 @@ import SnapKit
class XSCoinsPackViewController: XSViewController {
private var contentBgBorderImage = UIImage(named: "gradient_color_image_03")
private let contentBgCornerRadius: CGFloat = 26
private let contentBgBorderImage = UIImage(named: "gradient_color_image_03")?.xs_flippedVertically()
private lazy var mainBgView = UIImageView(image: UIImage(named: "coins_pack_bg_01"))
private lazy var contentBgView: UIImageView = {
let view = UIImageView(image: UIImage(named: "coins_pack_bg_02"))
view.layer.cornerRadius = 26
view.layer.cornerRadius = contentBgCornerRadius
view.layer.masksToBounds = true
view.layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner]
view.layer.borderWidth = 1
@ -41,8 +42,8 @@ class XSCoinsPackViewController: XSViewController {
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
contentBgBorderImage = contentBgBorderImage?.xs_resized(to: contentBgView.bounds.size)
contentBgView.layer.borderColor = UIColor(patternImage: contentBgBorderImage!).cgColor
guard let borderImage = contentBgBorderImage?.xs_resized(to: contentBgView.bounds.size) else { return }
contentBgView.layer.borderColor = UIColor(patternImage: borderImage).cgColor
}
}
@ -65,3 +66,19 @@ extension XSCoinsPackViewController {
}
}
private extension UIImage {
func xs_flippedVertically() -> UIImage {
let format = UIGraphicsImageRendererFormat.default()
format.scale = scale
format.opaque = false
return UIGraphicsImageRenderer(size: size, format: format).image { context in
let cgContext = context.cgContext
cgContext.translateBy(x: 0, y: size.height)
cgContext.scaleBy(x: 1, y: -1)
draw(in: CGRect(origin: .zero, size: size))
}
}
}