2

SwiftUI では、 View 修飾子Text Viewを使用してフォント トラッキング (文字間の間隔) を設定できます。tracking

Text("Hello, World!")
  .tracking(10)

がありButton、カスタムButtonStyleを適用すると、ボタンのスタイルにあらゆる種類の変更を加えることができますが、configuration.labelは のインスタンスではTextなく であるButtonStyleConfiguration.Labelため、 apply に直接アクセスすることはできませんtracking。に直接設定せずにこれを行う方法はありButtonますか? label Viewそれはスタイルに関連するものなので、あなたができるはずのことのように思えますが、それを達成する方法がわかりません.

public struct MyStyle: ButtonStyle {
    public func makeBody(configuration: Configuration) -> some View {
        configuration.label
          // (if I tried to put `.tracking` here it wouldn't work because it isn't Text)
          .foregroundColor(Color.red)
          .clipShape(Capsule())
          // … etc.
    }
}

フォントとトラッキングの両方を変更するViewModifierは〜関連していますが、関連する答えはありません。

4

1 に答える 1