2012-12-14 8 views
7

私のプロジェクトでは、ページアニメーションを使用しています。 私の問題は、カールしたビューの背景に赤い色を表示することです。どのように達成するのですか? ありがとうございます。半ページカールアニメーション背景色を表示しますか?

enter image description here

CATransition *animation = [CATransition animation]; 
[animation setDelegate:self]; [animation setDuration:0.75]; 
[animation setTimingFunction:UIViewAnimationCurveEaseInOut]; 
animation.type = @"pageUnCurl"; 
animation.fillMode = kCAFillModeBackwards; 
animation.startProgress = 0.65; 
[animation setRemovedOnCompletion:NO]; 
[[self view] exchangeSubviewAtIndex:[self.view.subviews count]-2 withSubviewAtIndex:3]; 
[[self view] exchangeSubviewAtIndex:[self.view.subviews count]-3 withSubviewAtIndex:2]; 
[[[self view] layer] addAnimation:animation forKey:@"pageCurlAnimation"]; 

これは私が私の見解を変更する方法です。

+0

2つのビューを追加し、その下にビューを使用してボタンを追加します。 – IronManGill

+0

ここにコードをペーストします。私たちはあなたが使用したどのような方法で巻き上げるのか分かりません。おそらく、このビューを他のビューに追加して背景色を設定するべきでしょうが、これはコードなしの唯一の幸運な推測です。 – Kuba

+0

mainWindowの背景色を設定していますか? – BarryK88

答えて

0

部分的なカールの背後にあるものの表示を完全に制御したい場合は、別のVCとして設定できます。ここでは例です:

EndPartialCurlViewController *nextViewController = [[EndPartialCurlViewController alloc] init]; 
[nextViewController setModalTransitionStyle:UIModalTransitionStylePartialCurl]; 
[[self navigationController] presentViewController:nextViewController animated:YES completion:nil]; 

あなたは、あなたがこのEndPartialCurlViewControllerにしたいなど、任意の色、ビュー、ボタンを構築することができます。

1

...あなたの質問に対する答えは、このスレッドで見つけることができると信じています。アプリがバックグラウンド・プロセスに行くときは、その後、レイヤーを使用している場合

topPageReverseOverlay = [[CALayer alloc] init]; 
topPageReverseOverlay.backgroundColor = [[[UIColor redColor] colorWithAlphaComponent:0.8] CGColor]; 
1

あなたがその特定の層のカール効果を失うことができます。

0

多くのサーフィンの後私は、フィルタとレイを使用して1つの方法を見つけることができますが、これは1つの文書化されていない方法です。そして、アプリケーションをバックグラウンドプロセスにすると、

関連する問題