Dan*_*tin 3 image aspect-ratio clipped aspect swiftui
我在 SwiftUI 中剪辑图像时遇到问题
这是错误工作示例最少的代码:
struct TestView: View {
var body: some View {
Image("iPhone13Pro")
.resizable()
.scaledToFill()
.frame(width: 400, height: 400)
.border(.black)
.clipped()
.onTapGesture {
print("click")
}
}
}
Run Code Online (Sandbox Code Playgroud)
正如我所料,框架外的点击不应在控制台上打印任何内容,但它会打印
结果,图像没有被剪切,我click在控制台中看到
结果似乎渲染正确,但图像外部的触摸(红色箭头)仍然产生控制台日志
图像不是方形的,而是水平的,所以,如果没有.clipped()它,看起来像这样:
Dan*_*tin 16
我找到了答案
.clipped()只负责视图的视觉表示
要实际通过框架限制视图并防止其越过边界,请使用.contentShape(_:)
这为我解决了问题
| 归档时间: |
|
| 查看次数: |
1269 次 |
| 最近记录: |