1

我在 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 它就可以了。但是有点奇怪。如何使它正确?

4

0 回答 0