使用自动布局在UITableViewCell中居中UILabel

时间:2014-01-31 06:18:09

标签: ios iphone objective-c interface-builder autolayout

我是Xcode中Auto Layout的新手,所以我需要你的帮助。

我有自定义的tableView单元格,左边有一个UILabel,右边有三个UILabel,我希望它们像这样居中:

enter image description here

(虚线表示单元格的中心)。

所以我希望左侧标签位于左侧,右侧三个单元格位于右侧中心位置。

此外,我希望能够删除单元格右侧的三个标签中的一个,并居中保留其中两个标签。 (在代码中)。像这样:

enter image description here

2 个答案:

答案 0 :(得分:0)

我只是把我的逻辑..使用cellForRowAtIndexPath方法

中所有标签的框架
LeftLabel.frame = CGRectMake((((cell.frame.size.width/2)-yourLabelWidth)/2, ((cell.frame.size.height-yourLabelHeight)/2, yourLabelWidth, yourLabelHeight));

CGFloat rightLblX = ((cell.frame.size.width/2) - (5*yourTotalNumberOfLabel))/2;

rightLabel_one.frame = CGRectMake(rightLblX, ((cell.frame.size.height-yourLabelHeight)/2, yourLabelWidth, yourLabelHeight);

rightLblX = rightLblX + 5;

rightLabel_two.frame = CGRectMake(rightLblX, ((cell.frame.size.height-yourLabelHeight)/2, yourLabelWidth, yourLabelHeight);

rightLblX = rightLblX + 5;

rightLabel_three.frame = CGRectMake(rightLblX, ((cell.frame.size.height-yourLabelHeight)/2, yourLabelWidth, yourLabelHeight);

答案 1 :(得分:0)

在这里你去吧:

对于左标签,
1.按住Ctrl键并从标签拖动到单元格&选择“在容器中垂直居中”。
2. Ctrl +从左侧标签拖动到单元格&选择“在容器中水平居中”。
3.如果第二步放置不正确,请撤消第二步和第二步。选择“从容器中引出空间”。

这对左标签来说已经足够了。

为正确的标签, 对每个标签重复相同的步骤..这将解决您的问题。如果你还需要一些帮助,请告诉我.. :)