navigationBarTitle работает на iOS приложениях не MacOS - PullRequest
2 голосов
/ 14 февраля 2020

следующий код компилируется и прекрасно работает на iOS и Catalyst. Но когда я запускаю его в приложении macOS, появляется ошибка. Это известная ошибка или я делаю что-то не так. macOS Catalina версия 10.15.3, версия Xcode 11.3.1.

import SwiftUI

struct ContentView: View {
    var body: some View {

        NavigationView {
            List {
                Text("Item #1")
                Text("Item #2")
            }
            .navigationBarTitle("Title", displayMode: .inline)
            .navigationBarItems(leading: Text("Add"))
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

Вот ошибка, которую я получаю,

Value of type 'List<Never, TupleView<(Text, Text)>>' has no member 'navigationBarTitle'

1 Ответ

2 голосов
/ 14 февраля 2020

Строка заголовка недоступна в macOS. Вот объявление интерфейса:

@available(iOS 13.0, tvOS 13.0, watchOS 6.0, *)
@available(OSX, unavailable)
extension View {

    /// Hides the navigation bar for this view.
    ///
    /// This modifier only takes effect when this view is inside of and visible
    /// within a `NavigationView`.
    ///
    /// - Parameters:
    ///     - hidden: A Boolean value that indicates whether to hide the
    ///       navigation bar.
    @available(OSX, unavailable)
    public func navigationBarHidden(_ hidden: Bool) -> some View


    /// Configures the title in the navigation bar for this view.
    ///
    /// This modifier only takes effect when this view is inside of and visible
    /// within a `NavigationView`.
    ///
    /// - Parameters:
    ///     - title: A description of this view to display in the navigation
    ///       bar.
    @available(OSX, unavailable)
    public func navigationBarTitle(_ title: Text) -> some View


    /// Configures the title in the navigation bar for this view.
    ///
    /// This modifier only takes effect when this view is inside of and visible
    /// within a `NavigationView`.
    ///
    /// - Parameters:
    ///     - titleKey: A key to a localized description of this view to display
    ///       in the navigation bar.
    @available(OSX, unavailable)
    public func navigationBarTitle(_ titleKey: LocalizedStringKey) -> some View
...