2009-07-27 74 views
1

我在我的应用程序中使用TabBarController。在Tabbar的一个视图中,我使用UIImagePickerController来选择图像。如何在iPhone中使用UIImagePickerController和UITabBar

当我添加机械臂如下

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

imagePicker.delegate = self; 

imagePicker.editing = YES; 

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

它添加了选择器,但在选择照片时,具有按钮“选择”和“取消”的底栏得到我的TabBar下隐藏。如何解决这个问题。

回答

0

我还没有看到这个问题 - 我有一个应用程序一起使用UITabBarUIImagePickerController,并且标签栏不会遮挡图像选择器。

在我的视图控制器,这是UITabBar的视图控制器之一,我创建的图像拾取这样:

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

似乎非常相似,你的代码,但我设置图像选择器作为保留属性。您的标签栏设置正确吗?视图控制器是否包含在myTabBar.viewControllers阵列中?

+0

是的。我有一个tabbar,其第一个控制器是firstViewColorroller,它有一个navigationController。使用这个navigationController我切换到不同的视图,并在我使用上述代码的视图之一。但tabBar没有隐藏在imagePicker的视图下。 – rkb 2009-07-27 16:57:56

1

问题是,您正在使用self作为显示模态屏幕的导航控制器。因此,标签栏导航控制器不知道模式屏幕应该填满整个屏幕。由于UIImagePickerController无法将自身调整为较小的尺寸,因此您必须使用标签栏导航控制器打开目前的模式视图。

我用下面的代码来显示从导航控制器的UIImagePickerController这是一个的TabBar中所示:

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

使用的,而不是自我为呈现的UIImagePickerController奏效了,我对象self.navigationController 。

1

这个工作对我来说:

picker.delegate = currentClassViewController; 

[tabBarController presentModalViewController:picker animated:YES]; 

有你的选择器,调用者类自己还是有你的UITabController变量和presentModalViewController对你tabBarController访问。

相关问题