我想在addChildViewController
中使用View
(来自子视图数组的一个视图),但我不知道。这是我的代码:
for (UIView *subview in self.view.subviews) {
if (subview.tag == 1) {
CartView *cart = [[CartView alloc]init];
[cart willMoveToParentViewController:????];/* (UIViewController*) from subview*/
[cart.view setFrame:CGRectMake(0.0f,CGRectGetHeight(self.view.frame),CGRectGetWidth(self.view.frame),CGRectGetHeight(self.view.frame))];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
[cart.view setFrame:CGRectMake(0.0f,0,CGRectGetWidth(self.view.frame),CGRectGetHeight(self.view.frame))];
[UIView commitAnimations];
[subview addSubview:cart.view];
[???? addChildViewController:cart];
[cart didMoveToParentViewController:????];
}
}
我不知道如何从子视图获取UIViewController * !!!!
答案 0 :(得分:4)
来自Apple的文档:
(此处内容被视为子控制器)
将另一个视图控制器的视图添加到容器的视图层次结构
- (void) displayContentController: (UIViewController*) content;
{
[self addChildViewController:content]; // 1
content.view.frame = [self frameForContentController]; // 2
[self.view addSubview:self.currentClientView];
[content didMoveToParentViewController:self]; // 3
}
以下是代码的作用:
因此,在您的情况下,您尝试将ViewController添加到您的视图中,这不起作用。 CartView
应为UIViewController
而不是UIView