我正在制作一个报亭应用,我需要在一个 View 中显示多个组件。我有一个显示和管理 pdf 的 UIViewController
(缩放、滚动等...),但我不希望它全屏显示,而是希望它像一个 UIView
在另一个 UIViewController
中,顶部有一个菜单,底部有页码和其他工具。两者都是 UIViewController
的子类...我已经让两者分开工作了。我只想要另一个里面的 pdf 查看器。可能吗?这是我想要的一些代码(假设在 viewDidLoad
中)...但显然不起作用。任何帮助表示赞赏。它还必须兼容 IOS 5.1.1 及更高版本
NSString *path = [[NSBundle mainBundle] pathForResource:@"myPdf" ofType:@"pdf"];
PDFViewController *page = [[PDFViewController alloc] initWithPDFAtPath:path];
//pdfView is a UIView of size 600x600 right in the middle
[self setPdfView:[page view]]; //this doest work... but it's basically what I want instead of presenting a viewController
//[self presentViewController:page animated:YES completion:NULL];
我也知道这一点,但我不明白......如果这是我想要一些指导的方式:
addChildViewController:
willMoveToParentViewController:
didMoveToParentViewController:
最佳答案
从 iOS 5 开始,您可以执行 View Controller Containment,它允许您将 subview Controller 添加到父 View Controller 中。 subview Controller 可以像往常一样管理所有逻辑,但子 Controller 的 View 可以匹配您喜欢的任何框架/位置。
添加你可以做的 Controller
[self addChildViewController:childViewController];
childViewController.view.frame = [self frameForChildController];
[self.view addSubview:childViewController.view];
[childViewController didMoveToParentViewController:self];
您可以在 View Controller Documentation 中了解更多信息
关于ios - UIViewController 在另一个 UIViewController 中,这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21616941/