Swift 快速设置桌子高度
我有一张桌子,我想要一个特定的高度,即使我只有一排。即使我没有足够的行覆盖整个屏幕,我也希望它可以滚动(底部的空白) 我认为我应该与:Swift 快速设置桌子高度,swift,uitableview,height,swift3,contentsize,Swift,Uitableview,Height,Swift3,Contentsize,我有一张桌子,我想要一个特定的高度,即使我只有一排。即使我没有足够的行覆盖整个屏幕,我也希望它可以滚动(底部的空白) 我认为我应该与: tableView.contentSize.height = 2000 但是,要么我不知道应该把它放在哪里(我应该在之后重新加载表的数据吗?),要么我对如何这样做有错误的想法 有人能帮忙吗 编辑:我在表格视图中有此视图,在某些情况下可能高于表格,在这种情况下,我无法全部滚动。这就是为什么我需要更改表格的滚动高度 在iOS 10上,它可以正常工作,但我也必须在i
tableView.contentSize.height = 2000
但是,要么我不知道应该把它放在哪里(我应该在之后重新加载表的数据吗?),要么我对如何这样做有错误的想法
有人能帮忙吗
编辑:我在表格视图中有此视图,在某些情况下可能高于表格,在这种情况下,我无法全部滚动。这就是为什么我需要更改表格的滚动高度
在iOS 10上,它可以正常工作,但我也必须在iOS 8和iOS 9上修复它。这已经过测试,可以正常工作:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
tableView.contentSize.height = 2000
}
例如:
这已经过测试,可以正常工作:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
tableView.contentSize.height = 2000
}
例如:
为表视图设置约束怎么样?或者是另一种情况,当他们不适合? 在这种情况下,表的高度将等于屏幕高度,无论它有多少行。
为表视图设置约束怎么样?或者是另一种情况,当他们不适合? 在这种情况下,表的高度将等于屏幕高度,无论它有多少行。
只有在晚上的这个时候,我才意识到什么是有效的。我无法直接设置内容大小的高度,但如下所示:
tableView.reloadData()
tableView.layoutIfNeeded()
var contentSizeTemp = tableView.contentSize
contentSizeTemp.height = menuViewHeight.constant
tableView.contentSize = contentSizeTemp
只有在晚上的这个时候,我才意识到什么是有效的。我无法直接设置内容大小的高度,但如下所示:
tableView.reloadData()
tableView.layoutIfNeeded()
var contentSizeTemp = tableView.contentSize
contentSizeTemp.height = menuViewHeight.constant
tableView.contentSize = contentSizeTemp
如果在加载屏幕后发生更改时(例如,当用户点击按钮时),我需要这样做怎么办?您只需调用
tableView.contentSize.height=2000
。除非数据已实际更改,否则不需要调用reloadData()
。在这种情况下,您需要调用reloadData()
,然后设置contentSize
。当表视图中没有行时,iOS 9不起作用。。。还有其他想法吗?@asheyla,这很奇怪。我已经在一台运行iOS 9的设备上进行了测试,效果很好。它在模拟器上运行良好。你能发布更多你的实现吗?我已经用一个例子更新了我的答案。谢谢你花时间给我展示这个例子。我认为tableView.tableFooterView=UIView()可能是您的解决方案对我不起作用的原因,所以我删除了它,但它仍然不能按预期工作。我看到您已经声明了reloadContent()。您可以在任何地方调用它吗?如果在加载屏幕后发生更改时(例如,当用户点击按钮时),我需要这样做怎么办?您只需调用tableView.contentSize.height=2000
。除非数据已实际更改,否则不需要调用reloadData()
。在这种情况下,您需要调用reloadData()
,然后设置contentSize
。当表视图中没有行时,iOS 9不起作用。。。还有其他想法吗?@asheyla,这很奇怪。我已经在一台运行iOS 9的设备上进行了测试,效果很好。它在模拟器上运行良好。你能发布更多你的实现吗?我已经用一个例子更新了我的答案。谢谢你花时间给我展示这个例子。我认为tableView.tableFooterView=UIView()可能是您的解决方案对我不起作用的原因,所以我删除了它,但它仍然不能按预期工作。我看到您已经声明了reloadContent()。你把它叫做什么地方吗?我已经编辑了我的问题,我希望它现在能给出更多的解释。我感兴趣的是卷轴的高度,桌子的高度还可以,它放在应该放的地方,可以覆盖我需要的屏幕。我已经编辑了我的问题,希望现在能给出更多的解释。我感兴趣的是卷轴的高度,桌子的高度还可以,它位于应该的位置,可以覆盖我需要的尽可能多的屏幕。