Есть ли способ скрыть строку на белом фоне в списке при использовании контекстного меню SwiftUI?IOS

Программируем под IOS
Ответить
Anonymous
 Есть ли способ скрыть строку на белом фоне в списке при использовании контекстного меню SwiftUI?

Сообщение Anonymous »

Есть ли способ скрыть строку на белом фоне при появлении контекстного меню? Я знаю, что это из-за Листа. Мне пришлось использовать List, потому что при добавлении ScrollView с LazyVStack в iOS 17, 18 возникали проблемы, когда появлялось содержимое разного размера, например, когда клавиатура была закрыта, LazyVStack не возвращался обратно. Поэтому я выбрал список.
Поэтому, выделяя конкретное сообщение, я хочу знать, можно ли скрыть за ним эту строку. Если нет, то я думаю, что мне придется использовать UIKit для UITableVIew или UICollectionView, который мне нужно сначала изучить, чтобы реализовать это. LazyVStack для меня - большое НЕТ.
Изображение

List {
ForEach(Array(messagesViewModel.messages.enumerated()), id: \.element.messageIndex) {
index, message in
let isBeginning = message.messageIndex == messagesViewModel.messages.first?.messageIndex

let isLast = message.messageIndex == messagesViewModel.messages.last?.messageIndex

let hasBogey = messagesViewModel.bogeyChatSuggestions != nil

chatMessageView(for: message, isBeginningOfSection: isBeginning)
.buttonStyle(.plain)
.id(message.messageIndex)
.padding(.bottom, hasBogey ? 0 : (isLast ? 65 : 0))
.listRowSeparator(.hidden)
.listRowBackground(Color.clear)
.contextMenu {
Button("Copy") { UIPasteboard.general.string = text }
}
}

bogeyChatSuggestionView
.id(messagesViewModel.bogeyChatSuggestions?.id)
.listRowSeparator(.hidden)
.listRowBackground(Color.clear)
}
.buttonStyle(.plain)
.listStyle(.plain)
.scrollContentBackground(.hidden)
.scrollIndicators(.hidden)
.background(Color.white)


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

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

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

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

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

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