我想在我的桌面视图中水平居中我的细胞。目前,他们坚持左翼。我该怎么做呢?
我已经查询了有关SO和网页的各种问题,但它们都是在Objective C中,我使用的是Swift。
答案 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