#swiftui
#swiftui
Вопрос:
Предположим, у нас есть LinearGradient
экземпляр, есть ли какой-либо способ получить исходный массив цветов, используемых в этом градиенте?
Или, есть ли способ изменить цвета / направление, используемые в этом градиенте напрямую?
Комментарии:
1. Нет.
LinearGradient
это отображаемый вид,Gradient
это модель, поэтому передавайте модель здесь и там.2. @Asperi Возможно ли изменить направление линейного градиента?
Ответ №1:
есть ли способ напрямую изменить цвета / направление, используемые в этом градиенте?
SwiftUI является реактивным, поэтому сделайте градиент зависимым от состояния и измените состояние — просмотр будет перерисовываться, например
struct DemoReverseGradient: View {
@State private var reversed = false
var body: some View {
LinearGradient(gradient: Gradient(stops: [
.init(color: Color.red, location: 0),
.init(color: Color.blue, location: 1)
]), startPoint: reversed ? .leading : .trailing,
endPoint: reversed ? .trailing : .leading)
.frame(height: 200)
.onTapGesture {
self.reversed.toggle()
}
}
}