我在 xib 文件中有一些标签,这些标签是由约束设置的。但我想做一些简单的动画。这是想法:将元素设置在屏幕之外,然后用户打开应用程序,然后将其动画化。所以问题是:为了使元素脱离屏幕,我在 viewWillAppear 方法中实现了以下代码,但它不起作用:
-(void)viewWillAppear:(BOOL)animated{
CGFloat correction = self.view.bounds.size.width;
CGPoint center1 = self.icon.center;
center1.x += correction;
self.icon.center = center1;
}
和我在 viewDidAppear 方法中的动画代码:
[UIView animateWithDuration:0.8
delay:0.1
usingSpringWithDamping:1.0
initialSpringVelocity:1.0
options:UIViewAnimationOptionCurveEaseInOut
animations:^{
CGFloat correction = self.view.bounds.size.width;
CGPoint center1 = self.icon.center;
center1.x -= correction;
self.icon.center = center1;
} completion:^(BOOL finished) {
NSLog(@"ready");
}];
但是如果我将代码从 viewWillAppear 粘贴到 viewDidAppear 它就可以了。但是有点奇怪。如何使它正确?