【问题标题】:How to use UIImagePickerController along with UITabBar in iPhone如何在 iPhone 中使用 UIImagePickerController 和 UITabBar
【发布时间】:2012-09-06 18:46:54
【问题描述】:

我在我的应用程序中使用 TabBarController。在标签栏的一个视图中,我使用UIImagePickerController 来选择图像。

当我按如下方式添加选择器时

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

imagePicker.delegate = self;

imagePicker.editing = YES;

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

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

【问题讨论】:

    标签: iphone


    【解决方案1】:

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

    我使用以下代码从导航控制器中显示 UIImagePickerController,该控制器显示在选项卡栏内:

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

    使用 self.navigationController 而不是 self 作为呈现 UIImagePickerController 的对象为我解决了问题。

    【讨论】:

      【解决方案2】:

      这对我有用:

      picker.delegate = currentClassViewController;
      
      [tabBarController presentModalViewController:picker animated:YES];
      

      让您的picker-caller 类拥有或访问您的UITabController 变量和presentModalViewController 与您的tabBarController

      【讨论】:

        【解决方案3】:

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

        在我的视图控制器(UITabBar 的视图控制器之一)中,我正在创建图像选择器:

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

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

        【讨论】:

        • 是的。我有一个标签栏,它的第一个控制器是 firstViewCtonroller,它有一个导航控制器。使用此导航控制器,我切换到不同的视图,并在其中一个视图中使用上面的代码。但是 tabBar 并没有隐藏在 imagePicker 的视图下。
        • 嘿,当您使用 UIImageController 时,您是否也面临任何内存泄漏。
        • 嘿您可能不允许用户编辑图像。当您允许时,下一个视图与底部的 tabBar 一起出现。
        • 好点,我不这样做。我会尝试一下,看看标签栏是否出现。
        • 为什么这个答案会被接受?里面的问题没有解决办法。还是我错过了什么?
        猜你喜欢
        • 2012-05-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多