fix: 修复首页位置上报图标渲染

This commit is contained in:
2026-07-29 15:14:05 +08:00
parent f87b13cc05
commit 413a9603a4
2 changed files with 32 additions and 13 deletions

View File

@ -16,21 +16,24 @@ enum HomeMenuIconFactory {
private static let imageCache = NSCache<NSString, UIImage>()
/// Assets SF Symbol
/// Assets SF Symbol
static func image(named iconName: String) -> UIImage? {
let cacheKey = iconName as NSString
if let cachedImage = imageCache.object(forKey: cacheKey) {
return cachedImage
}
guard let sourceImage = UIImage(named: iconName)
?? UIImage(systemName: iconName, withConfiguration: symbolConfiguration) else {
return nil
let image: UIImage?
if let assetImage = UIImage(named: iconName) {
image = renderOnFixedCanvas(assetImage)
} else {
image = UIImage(systemName: iconName, withConfiguration: symbolConfiguration)
}
let normalizedImage = renderOnFixedCanvas(sourceImage)
imageCache.setObject(normalizedImage, forKey: cacheKey)
return normalizedImage
if let image {
imageCache.setObject(image, forKey: cacheKey)
}
return image
}
private static func renderOnFixedCanvas(_ image: UIImage) -> UIImage {