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

ios - 以编程方式更改ContainerView中 View 的大小-LMLPHP

黑色部分是我目前未使用的UIView 1。我的UIView 2包含一个UISegmented栏和一个UITableView。

我的视图层次结构如下所示:

ios - 以编程方式更改ContainerView中 View 的大小-LMLPHP

现在,我的要求是我希望调整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的出口。

但是,以上代码没有任何变化。我试图找到其他方法,但没有帮助。因此,请帮助我找出当前技术中的错误,或者告诉我如何使用其他技术。

提前致谢!

最佳答案

更改框架的代码看起来不错,只需从超级视图中删除视图,设置框架并以编程方式再次添加到超级视图即可。

[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];

关于ios - 以编程方式更改ContainerView中 View 的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32010090/

10-10 20:42