6

わかりましたので、pagecurl 効果が本当に気に入っています。1 つだけ問題があります。アプリ内からフィードバック メールを送信するとき、partialPageCurl がキャンセル ボタンとメールの送信ボタンの大部分を覆っています。ボタンは引き続き機能しますが、ユーザーには表示されません。ほぼ完全に画面外にある fullPageCurl に partialPageCurl を取得する方法はありますか? 前もって感謝します!これが現在、私がビューをプッシュしている方法です。

- (IBAction)HelpClicked{

MoreHelp *More = [[MoreHelp alloc] initWithNibName:nil bundle:nil];

More.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:More animated:YES];

[More release]; 
}
4

4 に答える 4

4

Apple の開発者ライブラリで UICatalog コードを確認してください。リンクは次のとおりです。 http://developer.apple.com/library/ios/#samplecode/UICatalog/Introduction/Intro.html

実行するときは、UITableView から [トランジション] を選択します。「Curl Image」ボタンのアクションを参照してください。それが必要な場合は...

TransitionViewController クラスに curlAction: メソッドがあります。基本的に、ビュー内に 2 つのイメージビューがあります。どちらが表示されているか、および前のトランジション (カールアップまたはカールダウン) に基づいて、ページをカールアップしてからカールダウンするように見える方法で、他のイメージを表示します。カールのイメージビューは完全に消えます。あなたのUIに適応できると確信しています。

PeyloW の答えとほとんど同じですが、古い setAnimation: commitAnimation ペアを使用するだけです。

于 2011-07-20T07:54:25.830 に答える
3

いいえ、のフルページカールバリアントはありませんUIModalTransitionStyle

これが必要な場合は、手動で実装する必要があります。単純なモーダルビューコントローラを実行するよりも複雑ですが、実行可能です。

切り取られたこのコードは、デフォルトの縦向きレイアウトでのみ機能し、必要に応じて微調整する必要があります。しかし、それがあなたが何をする必要があるかについての考えをあなたに与えることを願っています:

UIView* view = viewController.view;
view.frame = self.view.window.bounds;
[UIView transitionWithView:self.view.window
                  duration:0.2 
                   options:UIViewAnimationOptionTransitionCurlUp 
                animations:^(void) {
                    [self.view.window addSubview:view];
                } 
                completion:^(BOOL finished) {
                    [viewController.view removeFromSuperview];
                    [viewController presentModalViewController:viewController
                                                      animated:NO];
                }];
于 2011-07-19T15:21:24.920 に答える
1

PeyloWの答えを使用しますが、別の方法があります。表示するモーダルビュー(viewDidLoad内)にUIViewを追加し、左上隅に配置して、backgroundColorを。に指定し[UIColor clearColor]ます。そうすれば、ビューは画面に表示されませんが、ページのカール遷移は、左上隅のビューを「表示」するために画面からはがすように強制されます。

于 2011-07-24T09:26:09.980 に答える
1

PeyloWとxs2bushの優れた提案は、確かにフルページのカールを提供します。しかし、あなたは部分的ではなく、完全ではないページのカールを追いかけているのではないかと思います。このためのAPIはないと思いますが、うまくいくかもしれないトリックはどうですか?

PeyloWまたはxs2bushのいずれかの方法を使用しますが、UIViewAnimationOptionTransitionCurlUpアニメーションの継続時間よりわずかに短い継続時間でタイマーを起動します。

UIViewタイマーの期限が切れたら、アニメーションをフリーズして、カールしているアニメーションから削除します。

curledView.frame = [[curledView.layer presentationLayer] frame];
[curledView.layer removeAllAnimations];

うまくいけば、これはあなたに望ましい効果をもたらすでしょう。

于 2011-07-20T11:59:43.847 に答える