2016-07-22 11 views
0

画像ビューを左から中央に移動したいと思います。UIImageViewを左から中央に移動

CGPoint origin = self.headerImage.center; 
CGPoint target = CGPointMake(0, self.headerImage.center.x); 

CABasicAnimation *bounce = [CABasicAnimation animationWithKeyPath:@"position.x"]; 
bounce.fromValue = [NSNumber numberWithInt:origin.x]; 
bounce.toValue = [NSNumber numberWithInt:target.x]; 
[self.headerImage.layer addAnimation:bounce forKey:@"position"]; 

それは左から移動を開始し、ビューコントローラがロードされたときに中央で停止することがあります。

以下は、私のコードです。しかし、正常に動作していません。どうすればこれを整理できますか?

+0

あなたのコードの問題は何ですか? –

答えて

2
  1. targetニーズ ビューの中心を示すために:フレーム変化(アニメーションの最終)

最終的なコードを避けるために、fillModeremovedOnCompletionautoreversesrepeatCountCGPointMake(self.view.center.x, self.view.center.y)

  • 変更を:

    CGPoint origin = self.headerImage.center; 
    CGPoint target = CGPointMake(self.view.center.x, self.view.center.y); 
    CABasicAnimation *bounce = [CABasicAnimation animationWithKeyPath:@"position.x"]; 
    bounce.duration = 1; 
    bounce.fromValue = [NSNumber numberWithInt:origin.x]; 
    bounce.toValue = [NSNumber numberWithInt:target.x]; 
    bounce.fillMode = kCAFillModeForwards; 
    bounce.removedOnCompletion = NO; 
    bounce.autoreverses = NO; 
    bounce.repeatCount = 0; 
    [self.headerImage.layer addAnimation:bounce forKey:@"position"]; 
    CGAffineTransform transform = CGAffineTransformMakeScale(1.3, 1.3); 
    self.headerImage.transform = transform; 
    
  • 2

    使用

    [UIView animateWithDuration:1.0 animations:^{ 
        headerImage.frame = myNewFrameRect; 
    }]; 
    
    2

    問題はここにある:

    CGPoint origin = self.headerImage.center; 
    CGPoint target = CGPointMake(0, self.headerImage.center.x); 
    

    あなたはあなたのheaderImageの現在の中心を狙っている、正しいターゲットを狙っていません。技術的にはorigintargetは同じ場所です。

    は、スーパービューの中央にターゲットを移動

    、とあなたはまた、おそらくself.view.center.xを使用することができます:)

    CGPoint target = CGPointMake(0, self.headerImage.superView.center.x); 
    

    良いでしょうが、それはわずかに少なく、将来の証拠です。

    また、使用している2つのキー(「位置」と「位置x」)の間で、使用しているキーが異なります。私はCAAnimationsにはとても快適ではないので、最初は完全に正しいかもしれません。

    関連する問題