✨ Native image, video rendering
This commit is contained in:
42
ios/Runner/NativeViews/ImageView.swift
Normal file
42
ios/Runner/NativeViews/ImageView.swift
Normal file
@ -0,0 +1,42 @@
|
||||
//
|
||||
// ImageView.swift
|
||||
// Runner
|
||||
//
|
||||
// Created by LittleSheep on 2025/4/21.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import Kingfisher
|
||||
|
||||
class ImageView: UIImageView {
|
||||
private var _size: CGSize = CGSize(width: 0, height: 0)
|
||||
|
||||
// Initialize the image view
|
||||
override init(frame: CGRect) {
|
||||
super.init(frame: frame)
|
||||
contentMode = .scaleAspectFill
|
||||
clipsToBounds = true
|
||||
}
|
||||
|
||||
required init?(coder: NSCoder) {
|
||||
super.init(coder: coder)
|
||||
contentMode = .scaleAspectFill
|
||||
clipsToBounds = true
|
||||
}
|
||||
|
||||
// Method to set the image from a URL using Kingfisher
|
||||
func setImage(from url: URL, blurHash: String?) {
|
||||
let placeholderImage = blurHash != nil ? UIImage.init(blurHash: blurHash!, size: _size) : nil
|
||||
let processor = DownsamplingImageProcessor(size: _size) |> RoundCornerImageProcessor(cornerRadius: 20)
|
||||
|
||||
self.kf.indicatorType = .activity
|
||||
self.kf.setImage(
|
||||
with: url,
|
||||
placeholder: placeholderImage,
|
||||
options: [
|
||||
.processor(processor),
|
||||
.transition(.fade(0.3))
|
||||
]
|
||||
)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user