Without using a custom preview, you can set .contentShape(RoundedRectangle(cornerRadius: 30)) so that in the "zoomed in" preview of the contextMenu you can have a custom cornerRadius. However, this does not work if you create a custom preview, because then the ContentShape gets applied only to the LIFT PREVIEW, and not to the FINAL PREVIEW state. Heres a sample code - I'd love some support! :)
import SwiftUI
struct ContentView: View {
var body: some View {
VStack {
Rectangle()
.fill(Color.blue)
.frame(width: 300, height: 300)
.cornerRadius(30)
.contentShape(.contextMenuPreview, RoundedRectangle(cornerRadius: 30))
.contextMenu {
Button("Hello") {}
Button("Goofy") {}
} preview: {
Rectangle()
.fill(Color.blue)
.frame(width: 300, height: 300)
.cornerRadius(30)
//.contentShape(RoundedRectangle(cornerRadius: 30))
//.contentShape(.contextMenuPreview, RoundedRectangle(cornerRadius: 30))
}
Text("contextMenu item with large cornerRadius is not working as expected... No way to set contentShape to custom corner radius for final preview - not the lift preview")
}
}
}
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hey there! I'd love to know if theres a way where you can animate items between ZStack and VStacks? Just like the native iOS notifications on the Lockscreen stack at the bottom and if tapped, they convert from a Stack to a List - I have a list with items, displayed in a VStack, and I make the list collapsable when swiping down, where the items stack behind eachother with a progresisve reduction in opacity & scale, but I havent figured out a way to animate the items between the list and the stack - where you can visually see items starting to overlap and stack ontop of eachother when collapsing the list.