ios - 以编程方式调整自定义视图大小

时间:2012-11-21 04:45:46

标签: iphone ios uiviewcontroller storyboard containers

在我实施更大的事情之前,这只是一个测试项目: - )

根据图像,我在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。关于在哪里看的任何想法?

Storyboard

感谢您的见解: - )

1 个答案:

答案 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];