SwiftUI HStack +Image +Text=Label

iOS 14からLabelが追加された。
HStack+Image+TextのコーディングをLabel 1つに出来る。

import SwiftUI

struct ExampleLabelView: View {
    var body: some View {
        VStack(spacing: 8.0) {
            HStack {
                Image(systemName: "character.book.closed")
                Text("Books")
            }
            Label("Books", systemImage: "character.book.closed")
            Label("Books", systemImage: "character.book.closed")
                .labelStyle(TitleOnlyLabelStyle())
            Label("Books", systemImage: "character.book.closed")
                .labelStyle(IconOnlyLabelStyle())
            if #available(iOS 14.5, *) {
                Label("Books", systemImage: "character.book.closed")
                    .labelStyle(TitleAndIconLabelStyle())
            } else {
                // Fallback on earlier versions
            }
            Label("Books", systemImage: "character.book.closed")
                .border(Color.red)
        }
    }
}

実行結果

見た目は変わらない。
制御しやすくなる。

SwiftSwift,SwiftUI

Posted by shi-n