Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone iOS应用程序设计问题和相关UIImagePickerController问题_Iphone_Objective C_Ios - Fatal编程技术网

Iphone iOS应用程序设计问题和相关UIImagePickerController问题

Iphone iOS应用程序设计问题和相关UIImagePickerController问题,iphone,objective-c,ios,Iphone,Objective C,Ios,我有一个TabBar,它有4个项目。所有4项都响应单个UIViewController。例如,有一个项目,它向用户显示一个屏幕以获取照片并将其上载到站点。现在,将从AppDelegate调用此UIViewController(postAppViewController),如下所示: [tabItemsViewControllers addObject: [[ PostPageViewController alloc] initWithPost]]; [self presentModalView

我有一个TabBar,它有4个项目。所有4项都响应单个UIViewController。例如,有一个项目,它向用户显示一个屏幕以获取照片并将其上载到站点。现在,将从AppDelegate调用此UIViewController(postAppViewController),如下所示:

[tabItemsViewControllers addObject: [[ PostPageViewController alloc] initWithPost]];
[self presentModalViewController:picker animated:YES];
其中initWithPost定义了上述中的选项卡栏

现在postAppViewController从loadView调用一个单独的UIView(postAppView)。然后postAppView调用一个UINavigationController和一个UITableViewController(postTableViewController)

这个设计好吗?我想不是因为我遇到了以下情况:

[tabItemsViewControllers addObject: [[ PostPageViewController alloc] initWithPost]];
[self presentModalViewController:picker animated:YES];
postTableViewController显示一个按钮,单击该按钮时,将启动UIImagePickerController(kicker),然后通过调用以下命令将其显示给用户:

[tabItemsViewControllers addObject: [[ PostPageViewController alloc] initWithPost]];
[self presentModalViewController:picker animated:YES];
我看到的是tabbar存在,并通过摄像头/图像库presentModalViewController显示

你能指出我在设计上是否出了问题,或者我能做些什么来确保tabBar问题得到解决。如果我在这里不是很清楚,请告诉我

非常感谢。
AB

通常我处理tabbar/nav控制器的方式是,在我的app delegate中,我构造所有视图控制器。在这里,我还构建了导航控制器。将视图控制器添加到选项卡栏(SetViewController:)时,我设置了导航控制器。我有一些应用程序,其中一些标签上有导航控制器,而一些没有,这个方案似乎效果很好。不过,我面前没有代码,无法给出一个具体的示例。我要说的是,这样做,我从来没有看到您遇到的问题,我经常使用摄影机/库选择器以及其他模态视图控制器。清楚了吗?

从UIDABBARCONTROLLER显示模态视图控制器,而不是关联的UIViewController


[self.tabBarController presentModalViewController:picker animated:YES]

谢谢Merky,从应用程序委托本身执行此操作会更简单,因为您不必处理多个类。您的方法更简单,当然也适用于我,但我现在希望以更好的方式组织代码,因此尝试使用多个类和分层视图/视图控制器。将退回到从应用程序委托执行此操作,或从一个类本身执行所有操作。问题是,我正在尝试找出如何调用tabBarController,它是我尝试从中演示imagepicker的类的parentViewController的子类。感谢Mark提供的提示。以下内容对我来说很好<代码>TestAppDelegate*TestAppDelegate=(TestAppDelegate*)[[UIApplication sharedApplication]委托]
[testAppDelegate.BottomTabbar控制器呈现ModalViewController:picker动画:是]