我正在尝试将字体粗细作为参数传递给一个组件(SwiftUI View),然后与Text一起使用。我该怎么做?我尝试将weight设置为Weight、UIFontDescriptor.TraitKey(通过搜索找到),但都不起作用。例如
Text
weight
Weight
UIFontDescriptor.TraitKey
let weight: Weight = .bold init(weight: Weight){ self.weight = weight }
luaexgnf1#
有一个非常快的方法来找出类型。在SwiftUI视图中,编写如下内容
Text("Hello").fontWeight(.bold)
然后-单击.bold,您将看到
.bold
oxcyiej72#
编辑:使用@vadian的solution!我一问这个问题,就想到了一个解决办法:以字符串形式传递所需重量,例如thin。然后在选择字体时使用函数:
thin
.font(.system(size: 22, weight: getWeight(weight: weight), design: .rounded))
func getWeight(weight: String) -> Font.Weight { if weight == "thin" { return .thin } return .bold }
2条答案
按热度按时间luaexgnf1#
有一个非常快的方法来找出类型。
在SwiftUI视图中,编写如下内容
然后-单击
.bold
,您将看到oxcyiej72#
编辑:使用@vadian的solution!
我一问这个问题,就想到了一个解决办法:
以字符串形式传递所需重量,例如
thin
。然后在选择字体时使用函数: