在我的 SwiftUI 应用程序中,我的 Assets 目录中有一张宽高比为 1:1 的图像。在我的代码中,我有一个 Image
具有不同纵横比的 View ,将图像剪辑为新大小:
Image("My Image")
.resizable()
.aspectRatio(contentMode: .fill)
.frame(width: 300, height: 250)
.clipped()
但是当我将上下文菜单附加到此图像时(使用
contextMenu
修饰符),原始纵横比仍然存在,但具有透明填充:如何将图像剪辑到上下文菜单内的新框架中,因此没有填充?
最佳答案
在 iOS 15 上,请参阅 accepted post .此解决方案适用于 iOS 14。
我可以通过添加 .contentShape(Rectangle())
来解决这个问题图像修饰符:
Image("My Image")
.resizable()
.aspectRatio(contentMode: .fill)
.frame(width: 300, height: 250)
.clipped()
.contentShape(Rectangle())
.contextMenu {
Text("Menu Item")
}
关于ios - 裁剪为形状的 SwiftUI 图像在上下文菜单中具有透明填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62687224/