当前位置: 首页 > 知识库问答 >
问题:

使用约束设置视图动画?[重复]

郎飞龙
2023-03-14

我有两个两个文本字段displayNameTF和emailTF。

我想设置一个文本字段的动画,使其超过另一个文本字段的顶部。

displayNameTF.center = emailTFOrigin

UIView.animate(withDuration: 0.3) {
                self.view.layoutIfNeeded()
            }

我已经将emailTF的中心存储在emailTFOrigin中,我正在将displayNameTF的中心设置为它,并设置所需的布局动画。

我得到的动画是,默认情况下,文本字段彼此相距约5点,displaynameTF直接跳到emailTF的顶部,并将动画恢复到其原始位置。

我想看到的动画是displayNameTF在邮件顶部的动画。现在,它正在从emailTF恢复到其原始位置。

如果存在约束条件,我如何让顶部TF在底部TF的顶部设置动画?

共有2个答案

吴胜涝
2023-03-14

创建将底部TF的顶部连接到顶部TF的下侧的约束。创建该约束的出口。要对其进行动画处理,请更改该约束的常量TF的高度并调用layoutIfNeed()

林修真
2023-03-14

在代码中,您试图将自定义中心设置为文本字段。这是错误的。因此,文本字段将返回到初始位置。与其这样做,不如设置约束的动画,将文本字段放置在其当前位置。

一个选项是您可以创建两个约束,一次只保持其中一个活动。1=当前位置,2=新位置。停用第一个并激活第二个。调用动画。文本字段将移动到第二个位置。

 类似资料:
  • 我有一个UIView,其中有一个UILabel作为子视图。 现在我用动画改变UIView的宽度(改变约束的常量属性)并在UIView动画中调用layoutIfNeed...( 视图正在正常调整大小,但UILabel(子视图)将字体大小更改为“结束”大小,但没有像uiview那样正确设置动画。 根据WWDC 2012会话,如果仅更改superview的常量,则子视图应设置动画。 UILabel的最小

  • 许多有关自动布局约束动画的教程建议更新约束的常量属性,然后在动画块中调用。 我的处境有点棘手。我有一个包含3个子视图的视图。此超级视图的高度不是固定的-它是按其子视图的高度之和计算的。在某些情况下,我要求这3个子视图中的一个子视图切换其高度(它在0和30之间变化,即我希望平滑地隐藏和显示它)。代码类似于此: 不幸的是,这并不像我预期的那样有效。我可以看到子视图高度的平滑变化,但在为子视图高度约束设

  • 虽然有几个问题的答案与我的相似,但似乎没有一个能解决我的困境。我有一个图像视图,我可以通过改变水平和垂直约束来移动它,并使用长按手势在屏幕上移动。如果这张图像没有移动一定的距离,我希望它能动画化回到原来的位置。我正在使用以下代码示例来尝试执行此操作: 和在其他地方定义为用户单击的位置 和定义为用户在超级视图中的位置 不用说,平移图像时,一切都正常。它会拖动,然后在手势结束时停止。问题是,如果用户没

  • 问题内容: 我正在使用来更新旧的应用,并且当没有广告时,它会滑出屏幕。出现广告时,它会在屏幕上滑动。基本的东西。 旧样式,我将帧设置在动画块中。新样式,我对自动布局约束有一个确定Y位置,在这种情况下,它是距父视图底部的距离,并修改常量: 横幅完全按预期移动,但没有动画。 更新:我重新观看了WWDC 12讲的“掌握自动布局的最佳实践” ,其中涵盖了动画。它讨论了如何使用CoreAnimation更新

  • 我有一个,我想在点击时放大它的宽度。我设置了约束,并确保左侧的约束优先级低于我试图在右侧设置动画的约束优先级。 这是我试图使用的代码。 这是可行的,但似乎只是瞬间发生,似乎没有任何运动。我试着将其设置为10秒,以确保没有遗漏任何内容,但我得到了相同的结果。 是我控制的从IB拖到我的类中的约束的名称。

  • 我有一个简单的动画文件: 基本上,这会将一个组件沿X轴向左滑动50 dp。我已经成功地将它附加到一个组件上,它工作得非常完美,但是当我尝试同时将它附加到多个组件上时,动画只适用于最后一个组件。 例如:我有5张牌。AI敌人从手中随机选择一张牌。但是我想动画敌人“捡”卡。这就是动画发挥作用的地方。 比如说: 这里的目标是循环阵列中的每张卡,并将其滑出X轴。但动画只出现在最后一张牌上(阵列中的第五张牌)