1

長さが大きくなるアニメーション化された四角形があります。

[UIView animateWithDuration:60
                 animations:^{
                 CGRect frame = left.frame;
                 // adjust size of frame to desired value
                 frame.size.height -= 0.1;
                 left.frame = frame; // set frame on your view to the adjusted size
                 }
                 completion:^(BOOL finished){
                 // Re-start the animation if desired
                 }];

ただし、長方形は高さのみを変更するため、上向きではなく下向きになります。長方形が上に成長するように変更するにはどうすればよいですか?

4

1 に答える 1

1

フレームの高さだけを変更しています。これにより、同じ x と y の原点値が保持されます。

htisのように、高さと原点を変更する必要があります...

[UIView animateWithDuration:60
                 animations:^{
                     CGRect frame = left.frame;
                     // adjust size of frame to desired value
                     frame.size.height -= 0.1;
                     frame.origin.y += 0.1; // make opposite to origin as to height
                     left.frame = frame; // set frame on your view to the adjusted size
                 }
                 completion:^(BOOL finished){
                     // Re-start the animation if desired
                 }];

ゼロの高さから 100 の高さまでループするには (例)

- (void)animateHeight
{
    [UIView animateWithDuration:60
                          delay:0.0
                        options:UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat
                     animations:^{
                         CGRect frame = left.frame;
                         // adjust size of frame to desired value
                         frame.size.height = 100;
                         frame.origin.y -= 100; // make opposite to origin as to height
                         left.frame = frame; // set frame on your view to the adjusted size
                     }
                     completion:^(BOOL finished){
                         // animation is auto reversing and repeating.
                     }];
}
于 2013-05-19T19:55:57.180 に答える