Основное представление содержит форму с несколькими разделами, включая текстовые поля и навигационные ссылки. Я использовал переменную @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
Как в разделе формы автоматически отключить клавиатуру при нажатии навигационной ссылки для входа в дочернее представлен ⇐ IOS
Программируем под IOS
1729567979
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()
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79112334/in-a-forms-section-how-to-automatically-dismiss-the-keyboard-when-clicking-a-n[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия