У меня есть простой список в навигационном магазине. Я поместил кнопку в нижней части списка, чтобы добавить элемент в массив, который заполняет список. Textfield каким -то образом не работает должным образом в моем реальном iPhone (выполнение 18,5 - может быть, это проблема? Хотя я также использую 18,5 на iPad). < /P>
Это не работает таким образом: когда я нажимаю кнопку «+ ингредиент», оповещение появляется правильно. Я могу ввести в него текст. Но после нажатия кнопки «Добавить» в диалоге с оповещением закрытие не работает (я помещаю точки останова в закрытие, и они никогда не достигаются). < /P>
Заранее спасибо за любые идеи. Код < /p>
import SwiftUI
struct IngredientsEditView: View {
@AppStorage("ingredients") var ingredients = starterIngredients
@AppStorage("ingredientsDone") var ingredientsDone: Bool = false
@State private var addingIngredient = false
@State private var newIngredient = ""
var body: some View {
NavigationStack {
List {
Section {
ForEach ($ingredients, id: \.self, editActions: .all) { $ingredient in
Text(ingredient)
}
.onDelete(perform: delete)
.onMove(perform: move)
}
Button("+ ingredient") {
addingIngredient.toggle()
}
.alert("New Ingredient", isPresented: $addingIngredient) {
TextField("Ingredient", text: $newIngredient)
Button("Cancel", role: .cancel) {
newIngredient = ""
}
Button("Add") {
if !newIngredient.isEmpty {
ingredients.append(newIngredient)
newIngredient = ""
}
}
}
}
.navigationTitle("Ingredients")
.toolbar {
ToolbarItem(placement: .navigationBarTrailing) {
EditButton()
}
ToolbarItem(placement: .navigationBarLeading) {
Button("Start Ordering!") {
ingredientsDone = true
}
}
}
}
}
func delete(indexSet: IndexSet) {
ingredients.remove(atOffsets: indexSet)
}
func move(from source: IndexSet, to destination: Int) {
ingredients.move(fromOffsets: source, toOffset: destination)
}
}
#Preview {
IngredientsEditView()
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... ad-swiftui
Textfield внутри оповещения не работает на iPhone, но хорошо на iPad (Swiftui) ⇐ IOS
Программируем под IOS
1745291990
Anonymous
У меня есть простой список в навигационном магазине. Я поместил кнопку в нижней части списка, чтобы добавить элемент в массив, который заполняет список. Textfield каким -то образом не работает должным образом в моем реальном iPhone (выполнение 18,5 - может быть, это проблема? Хотя я также использую 18,5 на iPad). < /P>
Это не работает таким образом: когда я нажимаю кнопку «+ ингредиент», оповещение появляется правильно. Я могу ввести в него текст. Но после нажатия кнопки «Добавить» в диалоге с оповещением закрытие не работает (я помещаю точки останова в закрытие, и они никогда не достигаются). < /P>
Заранее спасибо за любые идеи. Код < /p>
import SwiftUI
struct IngredientsEditView: View {
@AppStorage("ingredients") var ingredients = starterIngredients
@AppStorage("ingredientsDone") var ingredientsDone: Bool = false
@State private var addingIngredient = false
@State private var newIngredient = ""
var body: some View {
NavigationStack {
List {
Section {
ForEach ($ingredients, id: \.self, editActions: .all) { $ingredient in
Text(ingredient)
}
.onDelete(perform: delete)
.onMove(perform: move)
}
Button("+ ingredient") {
addingIngredient.toggle()
}
.alert("New Ingredient", isPresented: $addingIngredient) {
TextField("Ingredient", text: $newIngredient)
Button("Cancel", role: .cancel) {
newIngredient = ""
}
Button("Add") {
if !newIngredient.isEmpty {
ingredients.append(newIngredient)
newIngredient = ""
}
}
}
}
.navigationTitle("Ingredients")
.toolbar {
ToolbarItem(placement: .navigationBarTrailing) {
EditButton()
}
ToolbarItem(placement: .navigationBarLeading) {
Button("Start Ordering!") {
ingredientsDone = true
}
}
}
}
}
func delete(indexSet: IndexSet) {
ingredients.remove(atOffsets: indexSet)
}
func move(from source: IndexSet, to destination: Int) {
ingredients.move(fromOffsets: source, toOffset: destination)
}
}
#Preview {
IngredientsEditView()
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79584984/textfield-inside-alert-not-working-on-iphone-but-fine-on-ipad-swiftui[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия