Текст не отображается, когда кнопка находится в отключенном состоянии.IOS

Программируем под IOS
Ответить
Anonymous
 Текст не отображается, когда кнопка находится в отключенном состоянии.

Сообщение Anonymous »

Я столкнулся со странным поведением в iOS 26. У меня в представлении есть простая кнопка Liquid Glass.

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

struct ContentView: View {
@State private var isSheetVisible: Bool = false
@State private var text: String = ""

var body: some View {
VStack {
Button {
isSheetVisible.toggle()
} label: {
Text("Show Sheet")
.font(.system(size: 20))
.fontWeight(.semibold)
}
.buttonStyle(.glassProminent)
.controlSize(.large)
.buttonSizing(.flexible)
.tint(.red)
.frame(width: 340)
.disabled(text.isEmpty)
}
.padding()
.sheet(isPresented: $isSheetVisible) {
OverlaySheet()
}
}
}
Это отлично работает. И если я отключу кнопку вот так .disabled(text.isEmpty), непрозрачность текста на кнопке немного уменьшится, но все равно останется четко видимой.
Изображение

Далее я хочу показать лист над этим представлением, и на этом листе у меня также есть аналогичная кнопка.

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

struct OverlaySheet: View {
@Environment(\.dismiss) private var dismiss
@State private var text: String = ""

var body: some View {
VStack {
Button {
dismiss()
} label: {
Text("Dismiss")
.font(.system(size: 20))
.fontWeight(.semibold)
}
.buttonStyle(.glassProminent)
.controlSize(.large)
.buttonSizing(.flexible)
.tint(.red)
.frame(width: 340)
.disabled(text.isEmpty)
}
.padding()
.presentationDetents([.fraction(0.5)])
}
}
И вот здесь это становится странным. Если кнопка на листе не отключена, отображается текст кнопки. Но если я отключу кнопку, как и раньше, текст будет едва виден.
Изображение

Есть идеи, что это происходит?

Подробнее здесь: https://stackoverflow.com/questions/798 ... bled-state
Ответить

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

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

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

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

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