Как в SwiftUI отключить взаимодействие с элементом в списке, но разрешить взаимодействие с элементом внутри него?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Как в SwiftUI отключить взаимодействие с элементом в списке, но разрешить взаимодействие с элементом внутри него?

Сообщение Anonymous »

У меня есть какой-то элемент внутри списка, в строке элемента есть какая-то кнопка внутри, когда я нажимаю на нее, появляется синяя рамка по умолчанию, и взаимодействие с кнопкой не происходит должным образом.
Я не могу изменить ее на просмотр прокрутки, поскольку я я делаю развертывание и свертывание со строкой списка.
Я использую import SpruceUI для создания элементов внутри строки списка, поэтому не могу использовать TapGuesture.
var body: some View {

List {
mySection
.listRowInsets(EdgeInsets(top: 5, leading: 0, bottom: 5, trailing: 0))
.listRowBackground(Color.clear)
}
.listSectionSpacing(0)
.listStyle(.sidebar)
.toolbar {
ToolbarItem(placement: .navigationBarTrailing) {
HStack {
Row(destination: SettingsView(),
presentationMode: .modal()) {
Image(.settings)
.renderingMode(.template)
.foregroundColor(.blue)
}
if allowInspectionCreation {
Row(destination: NewInspectionView(),
presentationMode: .modal()) {
Image(.create)
.renderingMode(.template)
.foregroundColor(.blue)
}
}
}
}
}
.task {
viewModel.refreshLocations()
}
.allowsHitTesting(false)

}

@ViewBuilder var mySection: some View {
Section(header: VStack(alignment: .leading, spacing: 4) {
Text(Date.now, format: .dateTime.weekday(.wide)) +
Text(", ") +
Text(Date.now, format: .dateTime.month(.wide).day())
}
.foregroundStyle(Color.primary)
.font(.body)
.textCase(.none)) {
HStack {
Row(destination: InboxView(), presentationMode: .push(showChevron: false)) {
HomeActionButton(title: "Inbox", image: .inbox)
.foregroundColor(.blue)
}
.allowsHitTesting(false) // Disable interaction for the row
Spacer(minLength: 20)
if showScheduleButton {
Row(destination: ScheduledInspectionsView(), presentationMode: .push(showChevron: false)) {
HomeActionButton(title: "Schedule", image: .scheduled)
.foregroundColor(.orange)
}
}
}
.listRowInsets(EdgeInsets(top: 0, leading: 0, bottom: 0, trailing: 0))
.listRowBackground(Color.clear)
}
}


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

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

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

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

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

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

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