Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios SwiftUI以编程方式更改视图的位置_Ios_Swift_View_Swiftui - Fatal编程技术网

Ios SwiftUI以编程方式更改视图的位置

Ios SwiftUI以编程方式更改视图的位置,ios,swift,view,swiftui,Ios,Swift,View,Swiftui,Swift 5,iOS 13 快速的问题 我想在创建视图时记录视图的位置。 我想保存位置,因为如果我按下重置按钮,我希望能够将其移回到那里。 所讨论的视图是可拖动的。 我可以使用几何体读取器在创建坐标时拾取坐标,并使用.EXPEND属性设置它们。 我可以用position属性把它放在X点 但是如果我使用这个位置,我需要给它坐标。如果我给它坐标的话,我就不能用像HStack这样理智的东西来定位它。我需要position属性在第一次运行时被忽略,然后在以后的每次运行时应用它 这感觉像是鸡和蛋的问题。

Swift 5,iOS 13

快速的问题

我想在创建视图时记录视图的位置。 我想保存位置,因为如果我按下重置按钮,我希望能够将其移回到那里。 所讨论的视图是可拖动的。 我可以使用几何体读取器在创建坐标时拾取坐标,并使用.EXPEND属性设置它们。 我可以用position属性把它放在X点

但是如果我使用这个位置,我需要给它坐标。如果我给它坐标的话,我就不能用像HStack这样理智的东西来定位它。我需要position属性在第一次运行时被忽略,然后在以后的每次运行时应用它


这感觉像是鸡和蛋的问题。有人解决了这个问题吗?一个疯狂的想法,我可以使用偏移量吗?

对我来说,你对使用.offsetx:y:修饰符的疯狂猜测似乎让你走上了正确的道路

从.onAppear{}中有问题的视图的GeometryReader代理中获取位置,并使用.offset将其还原

我前面的回答仅使用x轴来实现这一点,应该很容易将其应用于y轴:


如果您需要更多的指导,请考虑将代码准备好复制并粘贴到XCODE中。

对我来说,您对使用.OffStx:y:修改器的正确猜测似乎使您处于正确的轨道。

从.onAppear{}中有问题的视图的GeometryReader代理中获取位置,并使用.offset将其还原

我前面的回答仅使用x轴来实现这一点,应该很容易将其应用于y轴:


如果您需要更多的指导,请考虑将代码准备好复制并粘贴到XCODE中。

您会在代码中显示您的尝试吗?您会在代码中显示您的尝试吗?是的,谢谢您的确认。事实上,我有这些数字。我用偏移量来存储阻力值,我所需要做的就是重置它,然后一切都回到原来的位置,这次不需要几何体读取器,但是下一次。是的,谢谢你的确认。事实上,我有这些数字。我用偏移量来存储阻力值,我所需要做的就是重置它,然后一切都回到原来的位置,这次不需要几何体读取器,但下一次需要。