Среда выполнения cra sh пытается изменить текстовые атрибуты панели навигации SwiftUI - PullRequest
0 голосов
/ 19 января 2020

Я пытаюсь изменить текстовые атрибуты панели навигации в SwiftUI (чтобы добавить тень текста) и ударился о стену, пытаясь понять, почему я получаю сбои во время выполнения в симуляторе. Был другой поток (ссылка: ниже), который мог решить изменение типа шрифта, используя init () для изменения внешнего вида, однако попытка использовать init для изменения метода Text (""), чтобы добавить тень, приводит к созданию sh.
Я также пытался извлечь текст ("NavBarTitle") в его собственный метод, затем применить модификаторы (не повезло). Как видно из моего кода, я попытался извлечь текст в переменную, что привело к cra sh. Даже простое применение модификаторов напрямую вызывает крэ sh.

Я недостаточно опытен в SwiftUI, чтобы назвать это ошибкой, но на самом деле это похоже на один.
Спасибо за вашу помощь заранее!

import SwiftUI

struct ContentView: View {

    init() {
        UINavigationBar.appearance().largeTitleTextAttributes = [.shadow: 5]
    }

    let navigationBarText: Text = Text("Navigation Bar")

    var body: some View {
        NavigationView {
            VStack {
                Text("Hello, World!")
            }
            .navigationBarTitle(navigationBarText)

        }
    }
}

ref: { ссылка }

1 Ответ

1 голос
/ 19 января 2020

Следует указать NSShadow объект вместо номера, как показано ниже

SwiftUI navigation bar shadow

init() {
    let shadow = NSShadow()
    shadow.shadowOffset = CGSize(width: 5, height: 2)
    UINavigationBar.appearance().largeTitleTextAttributes = [.shadow: shadow]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...