我正在制作报刊亭应用,我需要在一个视图中使用多个组件。我有UIViewController
显示和管理pdf(缩放,滚动等等),但我不希望它是全屏而是我想让它像另一个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:
答案 0 :(得分:20)
从iOS 5开始,您可以执行View Controller Containment,它允许您将子视图控制器添加到父视图控制器中。子视图控制器可以像通常那样管理所有逻辑,但子控制器的视图可以匹配您喜欢的任何帧/位置。
要添加控制器,您可以
[self addChildViewController:childViewController];
childViewController.view.frame = [self frameForChildController];
[self.view addSubview:childViewController.view];
[childViewController didMoveToParentViewController:self];
中详细了解相关信息