如何为视图提供固定位置,使其不受 SwiftUI 中滚动的影响
Posted
技术标签:
【中文标题】如何为视图提供固定位置,使其不受 SwiftUI 中滚动的影响【英文标题】:How to give a view a fixed position so it is not affected by scroll in SwiftUI 【发布时间】:2020-08-09 20:00:03 【问题描述】:在 SwiftUI 中有没有办法给任何视图对象一个固定的位置,这样当视图的其余部分滚动时它就不会移动?
【问题讨论】:
是的,但您的问题尚不清楚。请添加更好的解释和一些代码来澄清您的要求。 【参考方案1】: VStack.init
VStack.init(alignment: .center, spacing: 0, content:
Text("UnScrollable")
).padding()
ScrollView.init
VStack
Text("Scrollable")
你需要在第一个 VStack 上设置你的框架,因为如果 vstack 需要比当前高度分辨率更多的空间,你的滚动视图将不会在屏幕上可见。
如果您需要固定位置,例如浮动按钮
你需要使用这个逻辑ZStack -> VStack/View With position -> ScrollView
你需要带有自定义位置的按钮才能实现这一点,
var body: some View
GeometryReader.init reader in
ZStack
ScrollView.init
VStack
Text.init("Hello?")
Rectangle.init().foregroundColor(.orange).frame(width: reader.size.width, height: 1024, alignment: .center)
VStack.init
Text("wakwkakwkaw").position(.init(x: reader.size.width - 100, y: reader.size.height - 100))
【讨论】:
你可以在 ScrollView 上做同样的事情以上是关于如何为视图提供固定位置,使其不受 SwiftUI 中滚动的影响的主要内容,如果未能解决你的问题,请参考以下文章
HTML代码中如何用POSITION属性来固定一个DIV模块的位置,让其不随滚动条移动?
SwiftUI 和 MVVM:当视图模型更改“数据源”(`@Publish items`)本身时,如何为“列表元素更改”设置动画