如何在表格视图中居中?

时间:2016-03-22 12:37:46

标签: ios swift uitableview

我想在我的桌面视图中水平居中我的细胞。目前,他们坚持左翼。我该怎么做呢?

我已经查询了有关SO和网页的各种问题,但它们都是在Objective C中,我使用的是Swift。

4 个答案:

答案 0 :(得分:1)

您不应该尝试将表格视图的单元格居中。您应该允许Cocoa管理单元格的大小,并且您应该将内容集中在单元格的内容视图中。

答案 1 :(得分:0)

您需要做两件事:

首先,您需要确保将表格样式设置为默认值:UITableViewCellStyleDefault。所有其他样式都以这种或那种方式使用detailTextLabel,您将无法设置textLabel的对齐属性。

UITableViewCell(style: .Default, reuseIdentifier: CellIdentifier)

然后您可以设置单元格textLabel:

的对齐方式
cell.textLabel.textAlignment = .Center

答案 2 :(得分:0)

下面列出了两种方法

1-你必须创建w.r.t tableview宽度的单元格,但是将你的单元格内容从nib拖到中心。

2-您必须减小tableview大小,以便您的单元格适合tableview。

答案 3 :(得分:0)

如果没有子类化tableview单元格,那么继承UITableViewCell 并只是覆盖下面的方法, 在CustomCell中添加以下方法

override func layoutSubviews() 
{
    super.layoutSubviews()
    self.frame  = CGRectMake(self.frame.origin.x + 100, self.frame.origin.y, 100 , 100);
    //option 2
    // self.bounds  = CGRectMake( 100,0, 100 , 100);//calculate centre
}

在上面你必须使用当前frame反应并根据你的要求计算centre,因为你看我使用单元格的当前帧,如果你忽略这个,x和y位置设置零,单元格总是在tableview的(0,0,宽度,高度)

并且你也可以使用bounds它将我评论为选项2