4

setAnimationBeginsFromCurrentStateブロックで設定する必要があります。その方法に関するドキュメントや例が見つかりません。

これを変換する必要があります:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES]; //The problem
[UIView setAnimationDuration:kKeyboardAnimationDuration];
[self.view setFrame:viewFrame];
[UIView commitAnimations];

プロパティを設定するだけでなく、ブロックに入れsetAnimationBeginsFromCurrentStateます。

4

1 に答える 1

7

ブロック ベースのアニメーションを使用する場合、アニメーションのオプションにUIView渡すことができます。UIViewAnimationOptionBeginFromCurrentState

[UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionBeginFromCurrentState animations:^{
    [self.view setFrame:viewFrame];
}completion:^(BOOL done){
   //some completition
}];
于 2012-09-11T18:55:31.430 に答える