Saya ingin mengatur beberapa gaya font di Picker dengan SegmentedPickerStyle(). Tetapi pemformatan font apa pun diabaikan. Apakah ada cara untuk mengatur font untuk segmentedPicker? Saya cukup yakin ini berfungsi untuk pickerWheel default..

import UIKit
import PlaygroundSupport
import SwiftUI

 // Make a SwiftUI view
 struct ContentView: View {
  @State private var selection: Int = 2
     var body: some View {
      Picker("", selection: self.$selection) {
                    Text("Shape").tag(0)
                    Text("Height").tag(1)
        Text("Media").tag(2).font(.headline)
                    }
                      .font(.headline)
                      .cornerRadius(8)
                      .padding(10)
                      .pickerStyle(SegmentedPickerStyle())
     }
}

// Make a UIHostingController
let viewController = UIHostingController(rootView: ContentView())

// Assign it to the playground's liveView
PlaygroundPage.current.liveView = viewController

// RUN!

enter image description here

5
Peter Pohlmann 20 September 2019, 20:29

1 menjawab

Jawaban Terbaik

SwiftUI menggunakan UIKit (untuk iOS) di bawah tenda, Anda harus menggunakan penampilan untuk UISegmentedControl:

struct ContentView: View {

    init() {
        UISegmentedControl.appearance().selectedSegmentTintColor = .red
        UISegmentedControl.appearance().setTitleTextAttributes(
            [
                .font: UIFont.boldSystemFont(ofSize: 24),
                .foregroundColor: UIColor.white
        ], for: .selected)

        UISegmentedControl.appearance().setTitleTextAttributes(
            [
                .font: UIFont.boldSystemFont(ofSize: 12),
                .foregroundColor: UIColor.blue
        ], for: .normal)
    }

    var body: some View { ,,, }
}
10
Mojtaba Hosseini 20 September 2019, 19:15