移动按钮从右到左动画iOS - swift
Posted
技术标签:
【中文标题】移动按钮从右到左动画iOS - swift【英文标题】:Move button Right to left animation iOS - swift 【发布时间】:2015-11-05 13:09:59 【问题描述】:我正在视图控制器中创建一个带有一些按钮的应用程序。我想添加一个动画,就像所有按钮都从右向左移动一样。但是我所有的按钮都从左向右移动。这是我的代码。
override func viewWillAppear(animated: Bool)
super.viewWillAppear(animated)
b1_center_alignment.constant -= self.view.bounds.width;
b2_center_alignment.constant -= self.view.bounds.width;
b3_center_alignment.constant -= self.view.bounds.width;
b4_center_alignment.constant -= self.view.bounds.width;
b5_center_alignment.constant -= self.view.bounds.width;
override func viewDidAppear(animated: Bool)
super.viewDidAppear(animated);
UIView.animateWithDuration(0.5, delay: 0.0, options: UIViewAnimationOptions.CurveEaseOut, animations:
self.b5_center_alignment.constant += self.view.bounds.width
self.view.layoutIfNeeded()
, completion: nil)
UIView.animateWithDuration(0.5, delay: 0.3, options: UIViewAnimationOptions.CurveEaseOut, animations:
self.b4_center_alignment.constant += self.view.bounds.width
self.view.layoutIfNeeded()
, completion: nil)
UIView.animateWithDuration(0.5, delay: 0.6, options: UIViewAnimationOptions.CurveEaseOut, animations:
self.b3_center_alignment.constant += self.view.bounds.width
self.view.layoutIfNeeded()
, completion: nil)
UIView.animateWithDuration(0.5, delay: 0.9, options: UIViewAnimationOptions.CurveEaseOut, animations:
self.b2_center_alignment.constant += self.view.bounds.width
self.view.layoutIfNeeded()
, completion: nil)
UIView.animateWithDuration(0.5, delay: 1.2, options: UIViewAnimationOptions.CurveEaseOut, animations:
self.b1_center_alignment.constant += self.view.bounds.width
self.view.layoutIfNeeded()
, completion: nil);
我对 ios 开发非常陌生。请有人帮我解决这个问题。这里b1_center_alignment, b2_center_alignment
是来自storyboard
的中心水平约束。
【问题讨论】:
你试过-=
而不是+=
吗?
你的意思是 b1_center_alignment.constant += self.view.bounds.width;在视图中会出现,self.b1_center_alignment.constant -= self.view.bounds.width 像这样在视图中出现对吗?
是的。这行得通吗?
我也认为同一只蚂蚁尝试这样做,响应是按钮从右向左移动但未完成。问题最初是按钮处于其原始位置并且动画移动到按钮的顶部。
【参考方案1】:
当你这样做时
b1_center_alignment.constant -= self.view.bounds.width;
您将按钮隐藏在屏幕左侧,然后使用
self.b5_center_alignment.constant += self.view.bounds.width
你把它移回原来的位置
你需要反转信号
b1_center_alignment.constant += self.view.bounds.width;
和 self.b5_center_alignment.constant -= self.view.bounds.width
【讨论】:
我也认为同一只蚂蚁尝试像您的回答一样,响应是按钮从右向左移动但未完成。问题最初是按钮处于其原始位置并且动画移动到按钮的顶部。 你明白我的意思了吗?如果没有请告诉我我会添加截图 对不起,我没听懂 我发现了问题,但不知道如何解决。我的问题是我为按钮设置了前导空间,这是问题所在。一旦我删除领先的空间宽度正在改变。有什么办法解决这个问题吗? 谢谢,我解决了我的问题。我做的另一项更改是删除前导空格并添加尾随空格。一切都很完美。以上是关于移动按钮从右到左动画iOS - swift的主要内容,如果未能解决你的问题,请参考以下文章
如何制作点击按钮时显示的加载动画?它应该占据全屏并且应该从右到左并消失
如何使用 CGAffineTransform Scale 从右到左添加动画和放大动画