Как мне получить цвет текста кнопки по умолчанию?

#swift #button #swiftui #colors

Вопрос:

Я разрабатываю пользовательский интерфейс в SwiftUI. Есть несколько кнопок, которые я настроил с помощью закругленного прямоугольника. Я хочу, чтобы цвет этого прямоугольника был таким же, как цвет текста — синий по умолчанию и светло-серый в отключенном режиме.

В настоящее время я жестко кодирую цвета. Существует ли какая-либо переменная или функция, доступная для соответствия системным настройкам для любого из этих цветов?

Комментарии:

1. У вас есть пример кода того, что вы пробовали до сих пор? На данный момент лучше всего использовать следующий модификатор для закругленного прямоугольника: RoundedRectangle(радиус угла: 25).заливка(Цвет.синий) —-и измените цвет на любой цвет, который вам нужен

2. Я принял во внимание то, что сказал Джордж. Итак, теперь код выглядит следующим образом: .наложение(RoundedRectangle(cornerRadius: 15) .обводка(отключена ? Цвет.серый.непрозрачность(0,5) : Цвет.Цвет акцента, ширина линии: 1))

3. Теперь я хочу заменить Color.gray.opacity(0,5) вызовом системы, например accentColor, который был бы правильным для отключенного текста.

Ответ №1:

По умолчанию цвет кнопки .accentColor следующий . Это работает как для светлого, так и для темного режима:

 Color.accentColor
 

Похоже, я пока не могу понять, как получить отключенный цвет кнопки, но я обновлю это, если узнаю.

Комментарии:

1. Спасибо, я только что узнал об этом. Кажется, что у него есть расширение само по себе, в то время как я искал в том, которое определяет ясный, черный, белый, серый, красный и т. Д.