0

本当に奇妙な問題です。アニメーションの背景を持つメイン ビュー (ビュー 1) を表示するためにポップしているビュー (ビュー 2) があります。ビュー 2 からポップすると、ビュー 1 はそれらのアニメーションを失います... 奇妙なことに、iOS ステータス バーを少し動かすとそれらが再起動されます!

何か案は?

これは、ビューをポップするために使用しているコードです。アニメーションなしでビューをポップすると、正常に動作します。

-(IBAction)popOnSwipe {
[UIView beginAnimations:@"" context:nil];
[UIView setAnimationDuration:0.75];
[UIView setAnimationCurve:UIViewAnimationTransitionCurlDown];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.navigationController.view cache:NO];
[navController popViewControllerAnimated:NO];
[UIView commitAnimations];

もう一つ; アニメーションはシミュレーターで開始されますが、テストしている iTouch では開始されません。どんな洞察でも大歓迎です、

ありがとう!

4

2 に答える 2

0

私が使用していたデバイスは故障していましたが、この方法は他のデバイスでは正常に機能します。助けてくれてありがとう。

于 2012-08-10T02:20:09.210 に答える
0

次のような DidStopSelector メソッドで view1 のアニメーションを追加します。

-(IBAction)popOnSwipe 
{
[UIView beginAnimations:@"" context:nil];
[UIView setAnimationDuration:0.75];
[UIView setAnimationCurve:UIViewAnimationTransitionCurlDown];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.navigationController.view cache:NO];
[UIView setAnimationDidStopSelector:@selector(view1_animation)];//add this line
[navController popViewControllerAnimated:NO];
[UIView commitAnimations];
}
-(void)view1_animation
{
  //do animations for view1
}
于 2012-07-25T07:07:01.230 に答える