Как в разделе формы автоматически отключить клавиатуру при нажатии навигационной ссылки для входа в дочернее представленIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Как в разделе формы автоматически отключить клавиатуру при нажатии навигационной ссылки для входа в дочернее представлен

Сообщение Anonymous »

Основное представление содержит форму с несколькими разделами, включая текстовые поля и навигационные ссылки. Я использовал переменную @FocusState для автоматического открытия клавиатуры при входе в основной вид, что упрощает пользователям ввод содержимого непосредственно в TextField.
Однако, когда я держу клавиатуру открытой и щелкните ссылку NavigationLink в разделе, чтобы перейти в дочернее представление, я не могу найти способ автоматически отключить клавиатуру при входе в дочернее представление. Я видел, как это достигается в нескольких официальных приложениях Apple, таких как «Напоминания».
Если вы не отпустите клавиатуру, она автоматически всплывет снова при возврате к основному виду, а также появится сообщение «Невозможно». для одновременного удовлетворения ограничений" в консоли.
Я обратился за помощью к GPT, но такие предложения, как использование одновременных жестов или добавление isActive в NavigationLink (которое может быть устаревшим), не помогли. работал. Кто-нибудь из разработчиков iOS сталкивался с этой проблемой?
убедитесь, что клавиатура не всплывает снова при возврате к основному виду.
Вот демонстрационный код .
import SwiftUI

struct SwiftUIView: View {
@State private var text = ""
@FocusState private var isTextFieldFocused: Bool

var body: some View {
NavigationStack {
Form {
Section {
TextField("Enter something", text: $text)
.focused($isTextFieldFocused)
}

Section {
NavigationLink(destination: Text("11")) {
HStack {
Label {
Text("subview")
} icon : {
ZStack {
RoundedRectangle(cornerRadius: 6)
.foregroundColor(.orange)
.frame(width: 30, height: 30)

Image(systemName: "face.smiling")
.foregroundColor(.white)

}
}
}
}
}
}
}
}
}

struct SwiftUIView_Previews: PreviewProvider {
static var previews: some View {
SwiftUIView()
}
}


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

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

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

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

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

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

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