在我实施更大的事情之前,这只是一个测试项目: - )
根据图像,我在1个ViewController中创建了2个自定义视图。我需要他们重叠或至少移开方式并在应用程序内再次返回。
我试过查找自定义视图,但我运气不错。
我希望使用此代码或类似代码:
-(IBAction)move02Action
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
_left.view.frame = CGRectMake(80, 70, 160, 380); //_left is Left UIViewContorller
_right.view.frame = CGRectMake(240, 70, 160, 380); //_right is Right UIViewContorller
[UIView commitAnimations];
}
我意识到这是针对UIViews而不是View Controllers。关于在哪里看的任何想法?
感谢您的见解: - )
答案 0 :(得分:1)
您可以像这样使用包含视图控制器
UIView *view = [[UIView alloc] initWithFrame:CGRectMake((80, 70, 160, 380))];
[view setBackgroundColor:[UIColor whiteColor]];
[self.view addSubview:view];
LeftViewController *left = [[LeftViewController alloc] init];
left.view.frame = view.bounds;
[left setDelegate:self];
[view addSubview:left .view];
[left didMoveToParentViewController:self];
[self addChildViewController:left ];
查看"Implementing a Container View Controller"文档。
修改强>
1)将ScrollView添加到self.view并在滚动视图中添加两个视图,使用不同的框架使用上面建议的代码添加视图。
2)在必要时设置滚动视图的内容设置为
CGPoint bottomOffset = CGPointMake(scrolposition, scrollView.contentSize.height - scrollnView.bounds.size.height);
[scrollView setContentOffset:bottomOffset animated:NO];
如果您想要重叠视图的效果,请使用[[self view] bringSubviewToFront:[self LeftView]];
和[[self view] sendSubviewToBack:LeftView];