Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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
Cocoa touch UIModalPresentationFullScreen在iPad横向模式下不工作?_Cocoa Touch_Ipad_Modalviewcontroller - Fatal编程技术网

Cocoa touch UIModalPresentationFullScreen在iPad横向模式下不工作?

Cocoa touch UIModalPresentationFullScreen在iPad横向模式下不工作?,cocoa-touch,ipad,modalviewcontroller,Cocoa Touch,Ipad,Modalviewcontroller,我在ViewController(a)上添加了一个ViewvController(B)作为子视图。在ViewController A(SuperView)中,UIModelPresentation全屏工作正常。但是,当我在ViewController B(子视图)中调用UIModelPresentationFull时,它会以纵向模式显示modelview,并且也不会完全查看它。如何解决这个问题。谁能帮我一下吗。我已经试了两天了 这是我在superview和subview中尝试的 picFBCap

我在ViewController(a)上添加了一个ViewvController(B)作为子视图。在ViewController A(SuperView)中,UIModelPresentation全屏工作正常。但是,当我在ViewController B(子视图)中调用UIModelPresentationFull时,它会以纵向模式显示modelview,并且也不会完全查看它。如何解决这个问题。谁能帮我一下吗。我已经试了两天了

这是我在superview和subview中尝试的

picFBCapture *fbCapt = [[picFBCapture alloc] init];
//[self.navigationController pushViewController:fbCapt animated:YES];
//fbCapt.modalPresentationStyle = UIModalTransitionStyleFlipHorizontal;
fbCapt.modalTransitionStyle = UIModalPresentationFullScreen;
[self presentModalViewController:fbCapt animated:NO]; 
[fbCapt release]; 

提前感谢。

您必须自己在横向中处理viewController B的视图。由于viewController B已添加为子视图,因此其视图控制器将不会处理其横向方向。
UIModalPresentationFullScreen
样式(横向和纵向)仅在显示viewController B时有效,即不作为子视图,而是作为全视图本身

问题在于,如果将视图控制器添加为子视图,则它不会连接到视图控制器层次结构,因此某些功能无法工作。您应该尽可能避免将视图控制器添加为子视图,因为这不是Apple打算使用视图控制器的方式,但有时无法避免

如果这是无法避免的情况之一,您应该在视图控制器B中保存对视图控制器a的引用,然后在视图控制器a(连接到视图控制器层次结构)上调用
presentModalViewController:
,而不是
self
(未连接的视图控制器B)

编辑:在控制器A中,可能有类似以下内容的代码:

[self.view addSubview:controllerB.view];
结合本行添加:

controllerB.controllerA = self;
我希望您知道如何创建属性,但如果不知道,这里有一个提示:

@property (nonatomic, assign) UIViewController *controllerA;

剩下的你应该可以通过谷歌和文档来了解。

@Erik Band@HG's实际上我在ViewControllerA中对控制器进行了分段。我在Segmentcontroller中添加了ViewController B、C、D。在Viewcontroller A中,我想添加另一个ViewcontrollerE。这是我的任务。我理解你的答案,但我对iphone、ipad不熟悉。我需要你的答案如何解决它。是否有任何示例代码。请救救我…我需要谢谢你们两位的现场回应。真的很抱歉耽搁了。。。你能帮我解决我的问题吗。这是一项非常紧急的任务…@Erik B我试过你的方法。当我从A中删除viewcontroller B并调用Modelviewcontroller时,工作正常。但是,这不是我的任务。我想在视图中添加ViewControllerB,然后在ViewControllerB中调用ModelViewController全屏。如何在viewController B中保存对viewController a的引用您能帮助我吗?请继续努力?@Yuvaraj.M,这是基本的编程知识,所以我建议你读一本关于Objective-C的介绍性书籍。我当然可以为你写代码,如果它能让我投票并接受它,它可能是值得的,但为了你自己,请花点时间学习。@Yuvaraj.M,我用如何在视图控制器B中保存对视图控制器a的引用的信息更新了答案。嗨,朋友们。我改变了我的申请流程,但仍然没有找到这个问题的答案,任何人都可以帮助我。谢谢