Ideal Reality

興味の赴くままに

[SwiftUI]List内のButtonやLinkのデザインをNavigationLinkっぽくする方法

SwiftUIのリストにNavigationLinkを入れるとAccessoryTypeがdisclosureIndicatorなTableViewCellになってくれますが、URLを開くLinkButtonだとこのデザインにすることができません。

NavigationLinkみたいなデザインにするButtonStyleはないので、そういう時はLinkButtonlabelを以下のようにして、右側にchevron.rightを並べてやるとそれっぽくなります。

HStack {
    Text("テキスト")
        .foregroundColor(.primary)
    Spacer()
    Image(systemName: "chevron.right")
        .font(Font.system(size: 14, weight: .semibold))
        .foregroundColor(.secondary)
        .opacity(0.5)
}

ちなみに、なぜ新しいButtonStyleを作らないのかというと、新しくButtonStyleを追加したらタップ時に背景が変わらなくなるからです。頻繁に使いたいのであればタップ時の色変更も考慮してButtonStyleを作るのが楽だと思います。

まあ、とりあえずiOS 14ではこれでいけそうなので、困っていたらぜひ。

スポンサーリンク

コメント

投稿されたコメントはありません

名前

メールアドレス(任意)

コメント

関連する投稿

‘configure(withApplicationID:)’ is deprecatedと言われた

NSTextFieldにadjustsFontSizeToFitWidthがないから自作する

SwiftのDecimal(string:)がどれだけ使えるか試してみた

NO IMAGE

[SwiftUI]SwiftUI App Life Cycleに変更したアプリが、アップデートした端末で起動できない時の対処法

SwiftUIでステータスバーの色を変える方法4つ

iOS14のUIDatePickerのデザインをカスタマイズする