动画UIView

时间:2014-02-15 16:10:41

标签: ios objective-c core-animation

    // Animate tag view up
    [UIView animateWithDuration:.2 animations:^{
        _tagView.center = (CGPoint){_tagView.center.x, _tagView.center.y+40};
    }];

我正在尝试将我的_tagView设置为当前在IB中的位置,但上面的代码什么也没做。我做错了什么?

3 个答案:

答案 0 :(得分:1)

首先,如果要移动视图向上,则需要降低y值(因为默认情况下原点位于左上角),如下所示:

[UIView animateWithDuration:.2 animations:^{
    _tagView.center = (CGPoint){_tagView.center.x, _tagView.center.y - 40};
}];

使用按钮触发操作时,此代码对我来说很合适。你用什么触发运动?这是一个Xcode(iPad)项目,每个按钮点击一个视图垂直向上移动40个像素。

https://github.com/perlmunger/MoveUp.git

答案 1 :(得分:0)

我认为您必须在Interface Builder中关闭主视图的“Use Autolayout”标志。创建新项目时,默认情况下会启用“自动布局”。

enter image description here

答案 2 :(得分:0)

首先,请确保通过调用addSubview:将tagView添加到视图层次结构中。其次,在viewDidAppear:中制作动画;否则,如果要在viewDidLoad中执行此操作,请使用animateWithDuration:delay:options:animations:completion: