2009-07-27 11 views
1

私のアプリケーションでTabBarControllerを使用しています。タブバーのビューの1つでは、UIImagePickerControllerを使用して画像を選択しています。iPhoneでUITabBarと一緒にUIImagePickerControllerを使用する方法

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; 

imagePicker.delegate = self; 

imagePicker.editing = YES; 

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

を次のように私はピッカーを追加するとそれはピッカーが追加されますが、写真を選択する時に、ボタンを持つ下のバーが「選択」と「キャンセル」私のタブバーの下に隠れる取得。これを解決する方法。

答えて

0

私はこの問題を見ていません - UITabBarUIImagePickerControllerを一緒に使用するアプリがあり、タブバーはイメージピッカーをあいまいにしません。私のようなイメージピッカーを作成しています、UITabBarのビューコントローラの一つである私のビューコントローラ、内部

:私は設定していた以外は

self.imagePicker = [[[UIImagePickerController alloc] init] autorelease]; 
imagePicker.allowsImageEditing = NO; 
imagePicker.delegate = self; 
[self presentModalViewController:imagePicker animated:YES]; 

は、あなたのコードと非常によく似ているようですイメージ・ピッカーは保持された特性として使用されます。あなたのタブバーは正しく設定されていますか?ビューコントローラはmyTabBar.viewControllersアレイ内に含まれていますか?

+0

はいそうです。最初のコントローラがnavigationControllerを持つfirstViewCtonrollerと言うタブバーがあります。このnavigationControllerを使用して、私は異なるビューに切り替え、ビューの1つでは、上記のコードを使用しています。しかし、tabBarはimagePickerのビューの下に隠されていません。 – rkb

+0

ねえ、UIImageControllerを使用するとメモリリークに直面しています。 – rkb

+0

ちょっとユーザーが画像を編集できない可能性があります。あなたが許可すると、下のtabBarに次のビューが表示されます。 – rkb

1

問題は、モーダル画面を表示するナビゲーションコントローラとしてselfを使用していることです。したがって、タブバーのナビゲーションコントローラは、モーダル画面が画面全体を満たす必要があることを認識しません。 UIImagePickerControllerは小さなサイズに調整できないため、タブバーナビゲーションコントローラを使用してモーダルビューを表示する必要があります。

私はタブバーの内側に示されているナビゲーションコントローラからUIImagePickerControllerを表示するには、次のコードを使用します。UIImagePickerControllerを提示したオブジェクトが私のためにトリックをしたとしてself.navigationControllerを使用しての代わりに、自己

[self.navigationController presentModalViewController:picker animated:YES]; 

1

これが私の作品:

picker.delegate = currentClassViewController; 

[tabBarController presentModalViewController:picker animated:YES]; 

は自身のあなたのピッカー発信者のクラスを持っているか、あなたのtabBarController照らし合わせてUITabController変数とpresentModalViewControllerへのアクセス権を持っています。

関連する問題