Кнопка SwiftUI: полный VStack кликабельный.IOS

Программируем под IOS
Ответить
Anonymous
 Кнопка SwiftUI: полный VStack кликабельный.

Сообщение Anonymous »

Я сделал это SwiftUI-View. Только кнопка запускает код, но весь VStack реагирует на ее нажатие. Означает: код внутри кнопки закрытия выполняется. Можно сказать, что весь контент VStack доступен для кликов.
Как я могу ограничить код, содержащийся в закрытии кнопки, только кнопкой? Соответственно: в чем причина такого странного поведения?
ForEach(filteredTasks, id: \.self) { task in
VStack(alignment: .leading) {
VStack {
Text(task.title)
.bold()
Text(task.desc)
.lineLimit(2)
}.strikethrough(task.status == Status.done.rawValue)
LabeledContent {
Text(dateFormatter.string(from: task.createdAt))
.lineLimit(2)
} label: {
Text("Created at: ")
}
LabeledContent {
Text(dateFormatter.string(from: task.modifiedAt))
.lineLimit(2)
} label: {
Text("Deleted at: ")
}
Button {
if task.hasBeenDeleted == true {
task.hasBeenDeleted = false
} else {
task.status = Status.open.rawValue
}
do {
try context.save()
} catch {
print(error)
}
filteredTasks = tasks
} label: {
Label("Recreate", systemImage: "trash")
.frame(height: 40)
.frame(maxWidth: .infinity)
.background(.blue)
.foregroundStyle(.white)
.fontWeight(.bold)
.clipShape(RoundedRectangle(cornerRadius: 8))
}
}
}



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

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

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

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

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

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