簡體   English   中英

SF Symbol imageView 不符合pointSize?

[英]SF Symbol imageView does not conform to pointSize?

我的 storyboard 中有一個空的 UIImageView,並在我的 ViewController.swift 文件中有插座。 在 viewDidLoad 中,我調用了以下代碼:

let config = UIImage.SymbolConfiguration(pointSize: 50, weight: .light)
self.symbol.image = UIImage(systemName: "calendar")
self.symbol.preferredSymbolConfiguration = config

符號加載良好,甚至重量也正確反映。

但是,符號圖像的大小仍然與 storyboard 中的 UIImageView 的大小相關,即使我沒有對 UIImageView 設置任何限制。 據我所知,在 SymbolConfiguration 中聲明的 pointSize 對符號圖像的大小沒有影響。

據我所知,似乎有兩種方法可以讓 SF Symbols 中的 pointSize 起作用:1. 以編程方式完成所有操作或 2. 在 Storyboard / Inspector 中完成所有操作。

有誰知道我做錯了什么或者 SF Symbols 不支持 Storyboard + 代碼配置?

我想通了,你必須在設置配置后調用sizeToFit() 我猜蘋果把它留給了開發人員來調用它,這樣他們就可以防止不必要地重新計算 UI 大小,從而有可能提高效率。

無論如何,解決方案是:設置配置后在 UIImageView 上調用sizeToFit()

我通過將UIImageView object 的contentMode屬性更改為.center解決了這個問題。

let imageView = UIImageView()

imageView.contentModel = .center // This is the key step.

imageView.preferredSymbolConfiguration = .init(pointSize: 10)
iconView.image = UIImage(systemName: "name")

試試這種方式:

let config = UIImage.SymbolConfiguration(pointSize: 50, weight: .light)
self.symbol.image = UIImage(systemName: "calendar", withConfiguration: config)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM