以编程方式更改 ContainerView 内视图的大小
Change size of views inside ContainerView programmatically
我有一个容器视图,它在两个 UIView 之间平均分配,如下所示:
黑色部分是我目前没有使用的UIView 1。我的 UIView 2 包含一个 UISegmented Bar 和一个 UITableView。
我的视图层次结构如下所示:
现在,我的要求是我想调整 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 的出口。
但是,上面的代码没有任何变化。我试图找到任何其他方法,但没有帮助。所以请帮助我找出我当前技术中的错误,或者告诉我如何使用其他技术来做到这一点。
提前致谢!
更改框架的代码看起来不错,只需从 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];
我有一个容器视图,它在两个 UIView 之间平均分配,如下所示:
黑色部分是我目前没有使用的UIView 1。我的 UIView 2 包含一个 UISegmented Bar 和一个 UITableView。
我的视图层次结构如下所示:
现在,我的要求是我想调整 view2 的大小以动态覆盖整个容器视图,并根据某些情况将 view1 移开。目前我并不担心这种情况,我只是尝试使用 - (void)viewDidLoad
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 的出口。
但是,上面的代码没有任何变化。我试图找到任何其他方法,但没有帮助。所以请帮助我找出我当前技术中的错误,或者告诉我如何使用其他技术来做到这一点。
提前致谢!
更改框架的代码看起来不错,只需从 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];