我创建了一个自定义文本组件,将Text Package 在其中。
struct ScrollText:View{
let text: String
var body: some View {
Text("\(text) the logic is like that")
}
}
然后我希望这个视图可以使用文本的修饰符,如.font
,.fontWeight
,.tracking
ScrollText(text:"abcdefg")
.font(.body)
.tracking(-0.3)
但是我发现在iOS 15中只有.font
可以工作。我能做些什么使它像普通的文本组件一样工作?
1条答案
按热度按时间kuuvgm7e1#
为什么文本修饰符不能在我的自定义视图中使用,是因为在iOS 15中,这些修饰符只适用于类型“文本”,但我们的视图返回“一些视图”。
所以可以通过使用
在这个函数中,
self
表示Text,而不是将字符串传递给视图,而是传递Text并将其放在最后一个位置,这将Text转换为视图。顺便说一句,我不知道如何通过这样来读取和修改文本中的字符串。
但是如果你可以返回Text而不是某些View,你仍然可以在下面使用Text-only修饰符。