首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将ViewModifier内容转换为预期类型?

如何将ViewModifier内容转换为预期类型?
EN

Stack Overflow用户
提问于 2020-09-01 03:11:37
回答 1查看 73关注 0票数 2

所以我想我可能不正确地使用了ViewModifiers,但是是否有可能将ViewModifierContent转换为预期的类型,例如Text?我想使用.fontWeight(.bold),但这不是基本/别名类型Content的一部分。或者,我应该使用什么来实现此效果?一个自定义的Style函数?

代码语言:javascript
复制
struct ButtonTextModifier: ViewModifier {
    func body(content: Content) -> some View {
        (content as Text) //<--- ERROR HERE
            .fontWeight(.bold) //<--- Because I want to use this
            .font(.largeTitle)
            .padding()
    }
}

我得到的错误是:

Cannot convert value of type 'ButtonTextModifier.Content' (aka '_ViewModifier_Content<ButtonTextModifier>') to type 'Text' in coercion

EN

回答 1

Stack Overflow用户

发布于 2020-09-01 03:22:10

您可能需要在Text上添加一个新方法,方法是在它的扩展中声明它。

代码语言:javascript
复制
extension Text {
    func buttonTextModifier() -> some View {
        self
            .fontWeight(.bold)
            .font(.largeTitle)
            .padding()
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63676777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档