SwiftUI:奇怪的行为 ScrollView
Posted
技术标签:
【中文标题】SwiftUI:奇怪的行为 ScrollView【英文标题】:SwiftUI: strange behavior ScrollView 【发布时间】:2019-11-28 18:41:31 【问题描述】:使用垂直和水平滚动时,我看不到图像的左上角。 但同时右下角后还有一些空间。 如何解决?
struct TestView: View
var body: some View
VStack(alignment: .leading)
ScrollView([.horizontal, .vertical])
Image(systemName: "keyboard")
.resizable()
.frame(width: 500.0, height: 500.0)
.frame(width: 300.0, height: 300.0)
【问题讨论】:
我这里也有同样的问题。根据我的测试,它已在 Xcode 12 中修复,这意味着 SwiftUI 2.0 和/或 ios 14 修复了它。你解决了吗? 【参考方案1】:你只需为滚动视图的内容添加一个偏移量
var body: some View
VStack(alignment: .leading)
ScrollView([.horizontal, .vertical])
Image(systemName: "keyboard")
.resizable()
.frame(width: 500.0, height: 500.0).offset(x: 100, y: 100)
.frame(width: 300.0, height: 300.0)
【讨论】:
偏移值取决于分辨率和方向 那是因为两个帧都是任意的。你可以使用geometryReader来调整它。【参考方案2】:怎么样
struct TestView: View
var body: some View
ScrollView([.horizontal, .vertical])
VStack
Spacer(minLength: 200)
HStack
Spacer(minLength: 200)
Image(systemName: "keyboard")
.resizable()
.frame(width: 300.0, height: 300.0)
.frame(width: 300.0, height: 300.0)
【讨论】:
看起来更好,但还是很奇怪以上是关于SwiftUI:奇怪的行为 ScrollView的主要内容,如果未能解决你的问题,请参考以下文章