以编程方式更改ContainerView中的视图大小

时间:2015-08-14 12:26:29

标签: ios uiview uicontainerview

我有一个容器视图,它在两个UIView之间平均划分,如下所示:

enter image description here

黑色部分是我的 UIView 1 ,我目前没有使用。我的 UIView 2 包含一个UISegmented Bar和一个UITableView。

我的观点的层次结构如下所示:

enter image description here

现在,我的要求是我要调整view2的大小以动态覆盖整个容器视图,并根据某些条件将view1消失。目前我并不担心这种情况,我只是尝试使用- (void)viewDidLoad中的以下代码调整我的view2的大小

CGRect newFrame = self.view2.frame;
newFrame.size.width = 200;
newFrame.size.height = 200;
newFrame.origin.x=0;
newFrame.origin.y=0;
[self.view2 setFrame:newFrame];

此处view2是界面构建器中我的view2的出口。

但是,上述代码没有任何改变。我试图找到任何其他方式,但没有任何帮助。所以请帮助我找出我当前技术中的错误,或者告诉我其他技术如何做到这一点。

提前致谢!

1 个答案:

答案 0 :(得分:0)

更改框架的代码似乎很好,只需从superview中删除视图,设置框架并以编程方式再次添加到superview。

[self.view2 removeFromSuperview];
// set the frame
CGRect newFrame = self.view2.frame;
newFrame.size.width = 200;
newFrame.size.height = 200;
newFrame.origin.x=0;
newFrame.origin.y=0;
[self.view2 setFrame:newFrame];

//add self.view2 again wherever it was
[myView addSubView:self.view2];