StoryBoard 中使用AutoLayout实现Animation效果

使用Autolayout布局的情况下,作为一个初学者都会把我们的都会认为再和Animation无缘了,再也没发实现动画的效果了。

但是,我想说小伙伴们,你们的想法是错误的。

在使用AutoLayout的情况下,我们同样可以实现Animation的效果

视图在Storyboard中,通过constraints 约束,实现基本的布局,通过改变控件的

transform的属性,实现基本的动画效果。

     View添加constraints 实际上是相对视图中的Bounds的坐标位置添加的限制,通过修改在View中的Bounds上的相对坐标,就可以实现Animation的效果。(修改Bounds的相对位置,并不能影响子视图在View中的Frame的坐标)。

测试代码:

class ViewController: UIViewController {


    @IBOutlet weak var passwordLabel: UILabel!

    @IBOutlet weak var phoneLabel: UILabel!

    @IBOutlet weak var topLabel: UILabel!

    override func viewDidLoad() {

        super.viewDidLoad()

        

        topLabel.transform = CGAffineTransformMakeTranslation(0, -200)

        passwordLabel.transform = CGAffineTransformMakeTranslation(-200, -200)

        

        phoneLabel.transform = CGAffineTransformMakeTranslation(-200, 0)

        

        // Do any additional setup after loading the view, typically from a nib.

    }

    

    override func viewDidAppear(animated: Bool) {

        

        UIView.animateWithDuration(0.5) {

            self.topLabel.transform = CGAffineTransformIdentity

            self.phoneLabel.transform = CGAffineTransformIdentity

            self.passwordLabel.transform = CGAffineTransformIdentity

            

        }

    }

    




猜你喜欢

转载自blog.csdn.net/Future_One/article/details/52004707