2009-06-24 4 views
0

のいずれかのイベントをカスタマイズする必要があります。カスタマイズ可能な「ボタンメニューペイン」がアプリケーションの「 Twitterrific "(スクリーンショットをご覧ください)。私はmodalViewControllerプロパティを使って実装しようとしましたが、画面全体にカスタマイズ可能なビューが表示され、親ビューはバックグラウンドで表示されなくなりました。「ボタンメニュービュー」を表示したい場合は、

コードスニペット:

MyCustomizableButtonMenuContoller *buttonMenucontroller = 
    [[MyCustomizableButtonMenuContoller alloc] init]; 

// To show my customizable button menu from bottom at parent view on any event. 
[self presentModalViewController:buttonMenucontroller animated:YES]; 

//To hide customizable button menu. 
[self dismissModalViewConrollerAnimated:YES]; 

私も透明に私のカスタマイズ可能なボタンメニューの表示を試みたが、それは私の要件では動作しません。 UIActionsheetは私が探しているもののようですが、画像でボタンをカスタマイズすることも可能ですか?スクリーンショットでシナリオを達成する他の方法がある場合は、あなたの調査結果やアイデアを教えてください。

スクリーンショット:

Twitterrific screenshot http://scaline3.appspot.com/Button_menu_pane.png

答えて

3

これにはモーダルビューコントローラを使用したくないです。 iPhone OSではネストされたView Controllerのビューについていくつかの前提があるため、このような「部分オーバーレイ」効果は得られません。

代わりに、最初にプライマリビューの一番下に隠れているいくつかのUIButtonを持つUIViewを作成する必要があります。ユーザーがカスタマイズボタンをクリックすると、ビューを上に動かす必要があります。パネルはあなたのメインコントローラの一部ですが、あなたのコードはそれほど異なってはいけません。

Objective-Cを使い始めたばかりの方は、Core Animationのドキュメントをお読みください。非常に少ないコードで適切な場所にビューをアニメートすることができます。ここに例があります:

[UIView beginAnimations:nil context: nil]; 
[UIView setAnimationDuration: 0.5]; 
[myDetailPane setFrame:CGRectMake(0, [self bounds].size.height - [myDetailPane bounds].size.height, [myDetailPane bounds].size.width, [myDetailPane bounds].size.height)]; 
[UIView commitAnimations]; 

タイマーや穏やかな動きの動きは必要ありません。システムがそれを処理します。

+0

こんにちは、ベン、 私の日を作ってくれてありがとう、)、それはコアのアニメーションを介してちょっと素晴らしいです。ブラボー!! – nabeelmukhtar

+0

こんにちはベン アニメーションでカスタムボタンメニューを作成しましたが、今は「カスタムメニューボタン」を表示しようとしているときにtabBarControllerの下に非表示になります。 「カスタマイズされたメニューボタンパネル」が表示されているときに、タブバーを非表示にするのが最も良い方法を教えてください。 ありがとうございます。 – nabeelmukhtar

0

そのドキュメントのAppleの例では、ナビゲーションコントローラを使用するように思えます。これはあなたにいくつかの助けを与えるかもしれません:Using Modal View Controllers

幸運!

+0

すばやく返信いただきありがとうございました。ありがとうございましたが、私はUIViewのアニメーションで何を探していましたか? – nabeelmukhtar

関連する問題