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]Dictionaryに順番を持たせたい

[iOS, Swift]で画面回転時のアニメーションを無効化する

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

iOS13でViewController上部の隙間をなくす