我有一个 Tableview,上面有一个 Segmented Controller。根据先前的用户操作,此分段 Controller 会隐藏或显示。
如果它是隐藏的,我想调整我的 tableview 的大小,以便它看起来不错(否则我在屏幕上有一个空隙)。
我尝试了以下代码(放置在 ViewDidLoad 中)但没有成功。当放置在 ViewDidAppear 或其他函数中时,它也不起作用。 Tableview 是从 Storyboard 中引用的,它不是以编程方式创建的。
if selectedGroup == 1
{
self.tableView.frame = CGRectMake(0, 152, 320, 367)
segControl.hidden = false
}
else if selectedGroup == 2
{
self.tableView.frame = CGRectMake(0, 116, 320, 403)
segControl.hidden = true
}
我尝试了一些其他的东西,比如偏移框架然后调整高度,但这也没有用......
最佳答案
使用自动布局
如果您正在使用自动布局并且想要更改框架,请尝试使用约束(NSLayoutConstraint
的IBOutlet
)。
设置约束导出并更改 constant
值:
self.sampleConstraint.constant = 20
self.view.layoutIfNeeded()
没有自动布局
使用自动调整表单工具
你也可以通过代码(obj-c)来完成:
view.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleLeftMargin);
关于swift - 调整 UITableView 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30843220/