对我有效的是对其他文本对象使用字符串插值。 例如: Text("This sentence is not underlined. \(Text("But this sentence is underlined.").underline())") 使用这种策略,我能够在原始Text对象中插入三个不同的带下划线的Text对象,而编译器不会抱怨。 希望这对你有帮助!
Text("You must be invited by an...." + model. getAttributedString(string: "apply to be on the waitlist"))
或者有另一种方法,你可以在ViewModel中创建另一个函数,它可以像上面所示的那样做。
Text(model.getString()) // put this in View
func getString() -> AttributedString {
return "You must be invited by an...." + getAttributedString(string: "apply to be on the waitlist")
}
3条答案
按热度按时间kq4fsx7k1#
Text(..)
视图有一个+
操作符来组合文本。我还没有看过这个魔术是如何工作的,但是它确实做得很好。还有第二种方法,也可以在字符串上使用
underlined()
函数:超级酷!
r1zhe5dt2#
对我有效的是对其他文本对象使用字符串插值。
例如:
Text("This sentence is not underlined. \(Text("But this sentence is underlined.").underline())")
使用这种策略,我能够在原始Text对象中插入三个不同的带下划线的Text对象,而编译器不会抱怨。
希望这对你有帮助!
d5vmydt93#
有几种方法可以实现它。
在这里,在函数中我也添加了粗体沿着下划线,你可以添加更多的样式。这可以留在ViewModel类中,并从View中调用,如下所示:
或者有另一种方法,你可以在ViewModel中创建另一个函数,它可以像上面所示的那样做。