Ios 父视图控制器中的子视图控制器
我正在制作一个应用程序,其中我只想在父视图控制器中显示子视图控制器,即仅在父视图控制器的3/4部分中显示。我已经实现了以下代码,但是子视图控制器正在填充整个父视图控制器 我的代码是:Ios 父视图控制器中的子视图控制器,ios,objective-c,uiviewcontroller,xcode6,childviewcontroller,Ios,Objective C,Uiviewcontroller,Xcode6,Childviewcontroller,我正在制作一个应用程序,其中我只想在父视图控制器中显示子视图控制器,即仅在父视图控制器的3/4部分中显示。我已经实现了以下代码,但是子视图控制器正在填充整个父视图控制器 我的代码是: - (CardsChildViewController *)viewControllerAtIndex:(NSUInteger)index { CardsChildViewController *childViewController = [[CardsChildViewController alloc]
- (CardsChildViewController *)viewControllerAtIndex:(NSUInteger)index {
CardsChildViewController *childViewController = [[CardsChildViewController alloc] initWithNibName:@"CardsChildViewController" bundle:nil];
childViewController.index = index;
return childViewController;
}
关于viewDidLoad函数,我正在写:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
self.pageController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil];
self.pageController.dataSource = self;
[[self.pageController view] setFrame:[[self view] bounds]];
CardsChildViewController *initialViewController = [self viewControllerAtIndex:0];
NSArray *viewControllers = [NSArray arrayWithObject:initialViewController];
[self.pageController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];
[self addChildViewController:self.pageController];
[[self view] addSubview:[self.pageController view]];
[self.pageController didMoveToParentViewController:self];
}
我是通过以下帮助实现的:尝试将pageController的框架更改为以下内容
CGRect frame = self.view.frame;
CGRect insetFrame = CGRectInset(frame, frame.size.width * 1/8, frame.size.height * 1/8);
页面视图控制器是子视图控制器,而不是使用viewControllerAtIndex方法创建的视图控制器 设置子视图控制器的最简单方法是在情节提要中放置容器视图,使子视图控制器成为一个单独的场景,并控制将嵌入片段从容器视图拖动到要成为子视图的视图控制器 当您这样做时,编译器将完成所有设置连接的工作,以正确管理子级。首次加载视图并安装子视图时,将激发父视图控制器的prepareForSegue方法。在这一点上,您可以连接任何插座、代理连接或您可能需要的任何其他连接
如果做不到这一点,您可以调整页面视图控制器视图的框架,然后再将其添加为子视图,正如@ErAdhish所建议的那样。但是为了将家务管理信息从家长转发给孩子,你需要做大量的设置。谢谢Duncan C,但我没有使用故事板。你能解释一下或者给我一个链接,它到底是如何工作的吗?下面是,上面的代码在水平和垂直方向上将CGRect框架缩小了一定的值,该值为帧宽度或高度的1/4。请注意,正值将使新矩形在旧矩形中居中的大小均匀减小,而负值将增大大小。非常感谢您的夸夸其谈。