相关疑难解决方法(0)

如何为约束更改设置动画?

我正在更新旧的应用程序,AdBannerView当没有广告时,它会从屏幕上滑落.当有广告时,它会在屏幕上滑动.基本的东西.

旧样式,我在动画块中设置框架.新风格,我有一个IBOutlet确定Y位置的约束,在这种情况下,它与superview底部的距离,并修改常量.

- (void)moveBannerOffScreen {
    [UIView animateWithDuration:5 animations:^{
        _addBannerDistanceFromBottomConstraint.constant = -32;
    }];
    bannerIsVisible = FALSE;
}

- (void)moveBannerOnScreen {
    [UIView animateWithDuration:5 animations:^{
        _addBannerDistanceFromBottomConstraint.constant = 0;
    }];
    bannerIsVisible = TRUE;
}
Run Code Online (Sandbox Code Playgroud)

横幅移动,完全符合预期,但没有动画.

更新:我重新观看了WWDC12视频" 掌握自动布局的最佳实践 ",其中包括动画.它讨论了如何使用更新约束AdBannerView.

在此输入图像描述 在此输入图像描述

我尝试使用以下代码,但得到完全相同的结果.

- (void)moveBannerOffScreen {
    _addBannerDistanceFromBottomConstraint.constant = -32;
    [UIView animateWithDuration:2 animations:^{
        [self.view setNeedsLayout];
    }];
    bannerIsVisible = FALSE;
}

- (void)moveBannerOnScreen {
    _addBannerDistanceFromBottomConstraint.constant = 0;
    [UIView animateWithDuration:2 animations:^{
        [self.view setNeedsLayout];
    }];
    bannerIsVisible = TRUE;
}
Run Code Online (Sandbox Code Playgroud)

在旁注中,我已经多次检查过,这是在主线程上执行的.

animation objective-c ios autolayout ios6

934
推荐指数
9
解决办法
27万
查看次数

动画:如何使用图层为视图设置动画?

图像显示了我想要实现的目标

我想将一个视图从一个位置动态移动到一个新的位置.如果更新视图的图层位置,我认为视图将动画移动到新位置,implicit animation我猜,但是没有动画,为什么?

- (IBAction)startAnimation:(id)sender {
    CGPoint position = self.imageView.layer.position;
    position.y += 90;
    self.imageView.layer.position = position;
}
Run Code Online (Sandbox Code Playgroud)

core-animation ios

1
推荐指数
1
解决办法
4300
查看次数

标签 统计

ios ×2

animation ×1

autolayout ×1

core-animation ×1

ios6 ×1

objective-c ×1