Добавить вид в навигацию BarTitle - SwiftUI - PullRequest
0 голосов
/ 05 февраля 2020

Я могу добавить заголовок, используя .navigationBarTitle (Text ((msgDetails.name))), но я хотел добавить субтитры под заголовком на панели навигации. Похоже, что заголовок не принимает вид и принимает только текст. Я попытался \ n в названии, но это не работает. Есть ли способ добавить субтитры в панель навигации. Я использовал ведущие и конечные, чтобы добавить левую и правую кнопку на панели навигации. Я хотел показать заголовок и субтитры вместе с левой и правой кнопками

Панель навигации

1 Ответ

0 голосов
/ 05 февраля 2020

Если вы посмотрите на SwiftUI documentation, вы увидите только несколько перегрузок функции navigationBarTitle. Все они требуют специальных параметров, таких как Text или StringProtocol. Таким образом, вы не можете просто вставить немного View в панель навигации.

Я могу предложить одну странную, но рабочую версию. Речь идет об использовании .navigationBarItems(leading:... - для этого требуется некоторое представление, которое вы можете настроить (в пределах разумного). Вот простой пример:

struct ContentView: View {

    var body: some View {

        NavigationView {
            Text("Main view")
                .navigationBarItems(leading:
                    HStack {

                        Button(action: {}) {
                            Image(systemName: "return")
                        }

                        VStack {
                            Text("Title")
                                .bold()
                                .font(.system(size: 30))

                            Text("Subtitle")
                                .italic()
                                .font(.system(size: 15))

                        }
                        .padding(.horizontal, 100) // mb it's better to use GeometryReader for centering

                })
        }


    }

}

, и вы получите что-то вроде этого:

enter image description here

...