web-dev-qa-db-ja.com

SwiftUIでカスタムビューを使用できない

私のSwiftUIアプリケーションでは、フォントサイズとテキストの色が設定されたシンプルなTitleビューを作成しました。 Titleは次のように宣言されます。

struct Title: View {
    var string: String

    var body: some View {
        Text(string)
            .font(.system(size: 32))
            .color(Color.black)
    }
}

現在、コンテンツビューの本文に次のテキストオブジェクトがあります。

var body: some View {
    VStack(alignment: .leading) {
        Text("Welcome")
            .font(.largeTitle)
            .color(Color.black)
        Text("to SwiftUI")
            .font(.largeTitle)
            .color(Color.secondary)
    }
}

それでは、これら2つのTextsを私のTitlesに置き換えます。

var body: some View {
    VStack(alignment: .leading) {
        Title("Welcome")
        Title("to SwiftUI")
    }
}

ビューを置き換えた後、Xcodeから一見無関係なエラーメッセージが表示され、アプリケーションのコンパイルが停止します。

静的メンバー「リーディング」は、タイプ「Horizo​​ntalAlignment」のインスタンスでは使用できません

'(LocalizedStringKey)-> Text'は '(LocalizedStringKey、String ?, Bundle ?, StaticString?)-> Text'に変換できません

「フォント」は「フォント?」に変換できません。

...もっと。 TextではなくTitleに戻すと、問題が「修正」されます。

興味深いのは、カスタムPrimaryButtonビューもあり、問題なく追加できたことです。

struct PrimaryButton: View {
    var title: String

    var body: some View {
        Button(action: { print("tapped") }) {
            Text(title)
                .font(Font.primaryButton)
                .offset(y: 1)
                .padding(.horizontal, 20)
                .padding(.vertical, 14)
        }
    }
}

...そしてそれを使う:

PrimaryButton(title: "Let's go")

質問

これは単にベータ版の問題ですか、それとも何か不足していますか?

11
LinusGeffarth

今日、2019年10月1日、Swiftは、_string:_を_verbatim:_で置き換えるように促しました。

Text(verbatim: "Pressure")は今日は機能しますText(string: "Pressure")は昨日は機能しましたが、今日は機能しませんでした。 hth

0
AB Murphy