Почему в SwiftUI инициализатор вызова отличается? - PullRequest
0 голосов
/ 04 февраля 2020

Я начинаю изучать swiftUI и звоню init из Color совсем по-другому.

Я устанавливаю accentColor из TabView.

В идеале это должно выглядеть так это:

.accentColor(Color("Tab Selected"))

Но это дает мне ошибку времени компиляции:

enter image description here

На самом деле работает следующая строка:

.accentColor(.init("Tab Selected"))

Может кто-нибудь объяснить мне, почему мы должны написать это так?

1 Ответ

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

accentColor - это оттенок цвета, который вы установили для вида, и вид и все его подпредставления примут тот же цвет, что и вы.

accentColor - это модификатор вида.

Вы можете установить его так:

VStack {
    Button(action: {}) {
        Text("My Button")
    }
}.accentColor(.red)
...