Изменить шрифт, оттенок и фон в SwiftuiIOS

Программируем под IOS
Ответить
Anonymous
 Изменить шрифт, оттенок и фон в Swiftui

Сообщение Anonymous »

Я обновляю пользовательский интерфейс приложения iOS, который теперь нацелен на iOS 16 и выше. Стиль и цвет, используя что-то вроде этого кода: < /p>

Код: Выделить всё

final class AppSettings: ObservableObject {
@Published var tint: Color = .red {
didSet { updateNavigationBarAppearance() }
}

init() {
updateNavigationBarAppearance()
}

private func updateNavigationBarAppearance() {
let appearance = UINavigationBarAppearance()
appearance.configureWithTransparentBackground()
appearance.largeTitleTextAttributes = [
.font: UIFont.preferredFont(forTextStyle: .largeTitle).roundedBold,
.foregroundColor: UIColor(tint).withAlphaComponent(0.9)
]
appearance.titleTextAttributes = [
.font: UIFont.preferredFont(forTextStyle: .headline).roundedBold,
.foregroundColor: UIColor(tint).withAlphaComponent(0.9)
]
let navBarAppearance = UINavigationBar.appearance()
navBarAppearance.standardAppearance = appearance
navBarAppearance.compactAppearance = appearance
navBarAppearance.scrollEdgeAppearance = appearance
}
}

extension UIFont {
var roundedBold: UIFont {
guard let descriptor = fontDescriptor
.withDesign(.rounded)?
.withSymbolicTraits(.traitBold) else { return self }
return UIFont(descriptor: descriptor, size: pointSize)
}
}
, что дало мне что -то, что выглядит так:

Но имел ошибку этого при прокрученных представлениях, поскольку мы использовали внешний вид.configureWithTransBackground () и прозрачность не работает в uinavigationbar.appearance (). founalcolor конфигурация.

С помощью версии ОС теперь мы можем воспользоваться использованием .toolbarbackground , который исправил проблему прозрачности при прокрутке в область NAV .


Однако, когда этот модификатор реализован, он влияет на шрифт заголовка навигации, Возврат его к лице Serif по умолчанию и черному/белому цвету.
Кто -нибудь знает способ настроить заголовок, а также использовать модификатор.
Хотя .navigationTitle принимает элемент текста , кажется, вы не можете его настроить, например:

Код: Выделить всё

  .navigationTitle(
Text("Today")
.font(.system(.largeTitle, design: .rounded, weight: .black))
)
, когда вы получаете это предупреждение в xcode:
< /p>

Подробнее здесь: https://stackoverflow.com/questions/778 ... in-swiftui
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»