Как объединить contextMenu и RoundedRectangle?IOS

Программируем под IOS
Ответить
Anonymous
 Как объединить contextMenu и RoundedRectangle?

Сообщение Anonymous »

Я пытаюсь создать список непрямоугольных элементов, каждый из которых имеет контекстное меню. Однако у меня возникла проблема с углами при длительном нажатии.
Как правильно использовать такую ​​комбинацию? Я не хочу использовать List из-за его стиля по умолчанию. Проблема возникает только во время анимации.
Процесс анимации при длительном нажатии
Вот упрощенный пример кода, который можно скопировать и запустить в одном файл.
Видео записано на устройстве с iOS 18.2
import SwiftUI

@main
struct MyApp: App {
var body: some Scene { WindowGroup { TestView() } }
}

struct TestView: View {
let items = ["Item 1", "Item 2", "Item 3"]
var body: some View {
VStack {
ForEach(items, id: \.self) { item in
HStack {
Text(item)
Spacer()
Image(systemName: "star")
}
.padding()
.background(.yellow)
// tried all these in different combinations, none works
.contentShape(RoundedRectangle(cornerRadius: 10))
.clipShape(RoundedRectangle(cornerRadius: 10))
.containerShape(RoundedRectangle(cornerRadius: 10))
.contextMenu {
Button { print("Edit \(item)") }
label: { Text("Edit"); Image(systemName: "pencil") }
}
}
}
.padding()
}
}

#Preview { TestView() }


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

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

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

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

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

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