Как игнорировать горизонтальную безопасную область панели инструментов клавиатуры?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Гость
 Как игнорировать горизонтальную безопасную область панели инструментов клавиатуры?

Сообщение Гость »

Я использую ToolbarItem(placement: .keyboard), чтобы разместить кнопку над клавиатурой. Однако он не может обеспечить полноэкранный режим iPhone в альбомной ориентации. Как показано на скриншоте ниже, это действительно уродливо...
Изображение

Ниже приведен пример фрагмента кода, или вы можете попробовать ДЕМО-проект:

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

struct ContentView: View {

@State private var text: String = ""
@FocusState private var isTextFieldFocused: Bool

var body: some View {
VStack {
Text("A Text Field Below.")
TextField("Enter text here.", text: $text)
.frame(height: 44)
.textFieldStyle(.roundedBorder)
.focused($isTextFieldFocused)
}
.onAppear {
self.isTextFieldFocused = true
}
.toolbar {
ToolbarItem(placement: .keyboard) {
_keyboardDismissButton()
}
}
}

@ViewBuilder
private func _keyboardDismissButton() -> some View {
Button {
self.isTextFieldFocused = false
} label: {
Image(systemName: "keyboard.chevron.compact.down")
.foregroundColor(.secondary)
.frame(height: 44)
.frame(maxWidth: .infinity)
.contentShape(Rectangle())
}
.buttonStyle(.plain)
}
}
Я попробовал .ignoresSafeArea(.all, Edges: .horizontal) или связанные с ним комбинации, но безуспешно. Любые модификаторы кнопки не имели никакого эффекта.
Я знаю, что мы можем реализовать это в UIKit, просто интересно, есть ли какой-нибудь обходной путь для решения этой проблемы в SwiftUI. Или это известная проблема? Я не думаю, что это предполагаемый дизайн...

Окружающая среда:

Xcode 15.0 (15A240d)

iOS 17.0

Подробнее здесь: https://stackoverflow.com/questions/781 ... rd-toolbar
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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