【发布时间】:2021-02-18 17:52:32
【问题描述】:
是否可以根据 Picker 和 SegmentedPickerStyle() 样式从侧面动画进出的三个(超过 2 个!)视图?
选择器中只有 2 个项目会使作业静态化,因此第一个视图上的 .transition(.move(edge: .leading)) 和最后一个视图上的 .transition(.move(edge: .trailing)) 就足够了。但是超过 2 个呢?
也许有一种方法可以使转换的edge: ... 参数动态设置为.leading 或.trailing,具体取决于绑定的新值是大于还是小于当前值。
我创建了以下草图来演示具有不同转换的相同视图(视图 2)的问题,具体取决于选择了右侧还是左侧的视图。请看这只是一个例子,问题不仅限于三个片段,也不仅仅是中间视图,也不仅仅是消失的过渡等。
【问题讨论】:
-
你能分享一张所需结果的图片吗?
-
我确信这是可能的。请提供一些代码。
-
我在开始编码之前就在考虑这个问题,所以不幸的是我没有,图片也可能无法很好地描述所需的动画,想象一下分段控件选择器,每个分段负责显示它下面的专用视图。视图动画(从左/右滑入/滑出)应该与 Picker(标准的分段控件选择器,我们都知道来自苹果)中的白色背景栏的移动相匹配,这表明当前的选择。
-
我添加了一个草图,描述了一个特定示例案例所需的行为,该案例应该很好地解释了所需的结果和整体问题。
标签: swift swiftui swiftui-animation