如何在Objective C中的表视图中垂直居中表视图

时间:2014-05-11 14:46:30

标签: ios objective-c xcode5 tableview

我的故事板中有表格视图。所以,我知道我将总共有5行。这5行不会垂直占据整个屏幕空间,所以我希望这5行的组在屏幕上垂直居中,而不是从顶部开始并且按钮上有所有空白区域因为只有5行。

我如何做到这一点(1)使用故事板或(2)使用代码?

2 个答案:

答案 0 :(得分:3)

您可以使用UIScrollViews contentOffset-property,因为UITableView继承自UIScrollView。这是文档的链接:
https://developer.apple.com/Library/ios/documentation/UIKit/Reference/UIScrollView_Class/Reference/UIScrollView.html#//apple_ref/occ/instp/UIScrollView/contentOffset

基本上你只需要设置一个Point来定义X和Y偏移。因此,如果您希望TableViews内容从顶部偏移100pts,则可以设置

myTableView.contentOffset = CGPointMake(0, -100); //(edited in response to Lavvo's comment)

就是这样!

编辑:由于它是一个属性,你可以在Interface Builder中设置它,但我现在无法检查它。如果是这样,它可能在" Sizes" -Panel,我猜。

答案 1 :(得分:1)

如果您的表格视图具有静态高度,那么在故事板中最简单的方法是将表格视图的高度约束设置为您想要的高度。例如,如果您的单元格为44,5 * 44 = 220。

然后向表视图添加一个约束,使其在容器中垂直居中。

这将使其与任何屏幕尺寸兼容,因为无论更改大小,自动布局都会自动将其置于视图容器中。