Swift 以编程方式调整或最小化 ViewController 中的 UITableView

Swift resize or minimise UITableView in ViewController programatically

我试图在网上搜索调整 UITableView(不是 UITableView 单元格)的大小,这样当我点击按钮时,tableview 会最小化,同时两个按钮的对比度会更接近.

TableView 确实提供了“.hidden”功能来隐藏自己,但它会在用户界面的这两个按钮之间留下一大片空白space。

所以我计划在隐藏 tableview 的同时最小化它的高度,但我只能得到帮助来调整大小 "UITableView Cell" 而不是 "UITableView" 本身。

是否可以通过编程方式调整 TableView 的大小或调整 UI 对比度?

如果您的视图是基于框架的,您只需将 TableView 设置为隐藏,然后通过设置第二个按钮的 origin.y 来向上移动第二个按钮,例如:

origin.y -= TableView.bounds.size.height

如果您使用的是自动布局,只需将 TableView 的高度限制更改为 0,并按照与框架相同的方式更改第二个按钮的顶部布局。

如果您使用自动布局,更简单的方法是将第二个按钮的顶部设置为 TableView 的底部,这样当您将 TableView 的高度限制设置为 0 时,第二个按钮会自动向上移动。

请记住,当您使用自动布局时,您会像更改框架一样更改约束。它们只是不同的概念,但在内部,自动布局引擎会将约束转换为帧值。

从 Storyboard 获取 TableView 高度的约束。

@IBOutlet weak var tableView_Height: NSLayoutConstraint!

之后将此 table 视图约束的值设置为 0

tableView_Height.constant = 0.0

应用以下步骤

1) take tableHeight constraint outlet

2) in numberOfRowsInSection. if rowcount is equal to zero then set tableviewHeight constant to zero before return the rowcount.

3)if you want to set tableheight according its row count then set tableviewheight constant equal to ((totalrowcellheight)+fixsomespace)* in numberOfRowsInSection method. and aply some limit like if (height>300) then put it static height = 300