【发布时间】:2021-09-09 08:01:37
【问题描述】:
我基本上有这个SF Symbol:chevron.left,我想得到这个symbol的宽度和高度,我是这样做的:
public func getSize() -> CGSize {
let size = self.imgView!.size
return size
}
这就是我生成 SF 符号的方式:
UIImage(
systemName: name,
withConfiguration: UIImage.SymbolConfiguration(textStyle: .title1))?
.withTintColor(UIColor.TextColor!)
.withRenderingMode(.alwaysOriginal)
我希望 UIButton 中的 UIImage 的大小等于 UIFont.preferredFont(forTextStyle: .title1).pointSize,但是,SF Symbol 的高度却比我预期的要大。
对于.title1,高度应该是 28 点,而不是 33.3333 点,这是一种奇怪的行为。
--
*我正在使用宽度和高度锚来将按钮的宽度和高度限制为我从 getSize() 收到的大小
*contentMode 等于.scaleAspectFit
*clipToBounds 是true,我也试过false,结果一样。
【问题讨论】:
-
看看这个答案是否能给你一些见解:stackoverflow.com/a/63197816/6257435
-
@DonMag 这就是我遇到的问题......这很糟糕,为什么我要设置 pointSize,而 SF Symbols 无论如何都会改变它。感谢您的帮助:)
-
是的——SF 符号很棒,但它们有其怪癖(就像很多东西一样)。我会继续将此标记为重复。
标签: ios swift uikit constraints sf-symbols