2009-06-14 6 views
1

ユーティリティアプリケーションテンプレートの裏側にテーブルを配置しました。テンプレートは自動的にタイトルバーに「完了」ボタンを表示して正面図に戻ります。ユーティリティアプリケーションのフリップフードビューからタイトルバーを削除する

フリップサイドテーブルのセルの1つが選択されると、Camera/Image Libraryピッカーが表示されます。しかし、タイトルバーはポジションであり、ピッカーインターフェースを部分的に覆い隠しています。

ピッカーが有効なときにタイトルバーを削除するにはどうすればよいですか? ありがとう

答えて

2
  1. UINavigationBarのFlipsideViewController.hにコンセントを追加します。
  2. FlipsideView.xibを開き、コンセントを接続します。
  3. イメージピッカーを表示するときは、UINavigationBarのhiddenプロパティをtrueに設定します。
  4. イメージピッカーが終了したら、hiddenプロパティをfalseに設定します。
+0

ありがとうございますが、FlipsideView.xibにはUINavigationBarがありません。このバーは、RootViewController.hで次のようにプログラムで作成されます。 UINavigationBar * aNavigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0.0、0.0、320.0、44.0)]; aNavigationBar.barStyle = UIBarStyleBlackTranslucent; self.flipsideNavigationBar = aNavigationBar; [aNavigationBar release]; – cannyboy

+0

^私はRootViewController.mを意味します – cannyboy

+0

ああ、古いテンプレート(新しいユーティリティアプリケーションにはRootViewControllerがありません)を使用している必要があります。同じ原理が適用されます。ピッカーを表示するときは隠された状態に設定され、ピッカーを隠すときはfalseに設定されます。 RootViewControllerを指すためにインスタンス変数が必要な場合があります。 – NilObject

0

私は完全に円でここに入っています。私は私のRootViewControllerで...

を理解していないです根本的な何かがFlipsideViewをロードするために、明らかにあります:

FlipsideViewController *viewController = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil]; 
self.flipsideViewController = viewController; 

[viewController release]; 


// Set up the navigation bar 
UINavigationBar *aNavigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 44.0)]; 
aNavigationBar.barStyle = UIBarStyleBlackTranslucent; 
self.flipsideNavigationBar = aNavigationBar; 
[aNavigationBar release]; 

UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(toggleView)]; 
UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:@"App Title"]; 
navigationItem.rightBarButtonItem = buttonItem; 
[flipsideNavigationBar pushNavigationItem:navigationItem animated:NO]; 
[navigationItem release]; 
[buttonItem release]; 

一方、私のFlipViewControllerで、これはイメージピッカーを示しています

UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
picker.delegate = self; 
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 

// THIS IS NOT WORKING 
[self.navigationController.navigationBar setHidden:YES]; 

[self presentModalViewController:picker animated:YES]; 
[picker release]; 

私はナビゲーションバーを削除すると思っていたビットをコメントしました。あなたはUIViewTransitionAnimationFlipFromLeft(またはUIViewTransitionAnimationFlipFromRight)を行いアニメーションブロック、ナビゲーションバーの除去を追加インサイド

0

[flipsideNavigationBar removeFromSuperView]。

+0

UIViewTransitionAnimationFlipFromLeft – cannyboy

+0

またはUIViewTransitionAnimationFlipFromRightのアニメーションブロックがありません。あなたはどのようにあなたの意見を "反転"していますか? UIViewAnimationTransitionを持つアニメーションブロックを使用する必要がありますが、これはサポートされている唯一の方法です。 –

+0

あなたが正しいです、それはUIViewAnimationTransitionFlipFromLeftを使用します。しかし、これは問題ではありません。問題は、ピッカーが使用されているときにタイトルバーを削除することです。フリップはRootViewControllerにあります。 FlipsideViewController内からタイトルバーを削除する必要があります。 – cannyboy

関連する問題