Установить стиль элемента панели навигации в SwiftUI - PullRequest
0 голосов
/ 30 мая 2020

При добавлении элемента панели навигации с помощью UIKit вы устанавливаете его стиль с помощью UIBarButtonItem.style . Это важно для кнопки Done , которая отображается полужирным шрифтом.

SwitftUI navigationBarItems (leading: trailing:) принимает View, но без стиля. Вы можете взломать похожий стиль, используя жирную кнопку в представлении, но он не будет адаптироваться к будущим изменениям стиля ОС (например, вес шрифта кроме bold).

Как установить стиль элемента панели навигации с помощью SwiftUI?

1 Ответ

0 голосов
/ 31 мая 2020

в SwiftUI вместо того, чтобы передавать стиль, вы добавляете его в компонент View. это будет соответствовать будущим изменениям стиля ОС:

import SwiftUI
import PlaygroundSupport

struct ContentView: View {
  var body: some View{
    NavigationView {
      Text("blah")
        .navigationBarItems(leading: Text("done button")
          .fontWeight(.medium)
          .bold()
          .foregroundColor(Color.red))
    }
  }
}

PlaygroundPage.current.setLiveView(ContentView())


...