Cocoa touch 更改表格视图单元格中标签的边框

Cocoa touch 更改表格视图单元格中标签的边框,cocoa-touch,ios,uitableview,Cocoa Touch,Ios,Uitableview,昨天我问过如何更改表视图单元格中标签的位置,但我仍然不明白。实际上,我在牢房的右角有一个标签。当我切换到横向模式时,它会移到中心,但我希望它位于右角。请有人帮帮我。这里有一篇文章,我描述了如何创建自定义的tableViewCell,它可能有助于检查它。首先,您需要自定义您的UITableViewCell实例,可以通过编程方式向其添加UILabel对象,也可以通过界面生成器进行设计 一旦放置了标签,要改变它的位置,就应该考虑编辑它的框架属性。 例如: 这样,您可以根据需要更新标签的位置 如果您面临

昨天我问过如何更改表视图单元格中标签的位置,但我仍然不明白。实际上,我在牢房的右角有一个标签。当我切换到横向模式时,它会移到中心,但我希望它位于右角。请有人帮帮我。

这里有一篇文章,我描述了如何创建自定义的
tableViewCell
,它可能有助于检查它。

首先,您需要自定义您的
UITableViewCell
实例,可以通过编程方式向其添加
UILabel
对象,也可以通过界面生成器进行设计

一旦放置了标签,要改变它的位置,就应该考虑编辑它的框架属性。 例如:

这样,您可以根据需要更新标签的位置

如果您面临的问题是更改接口方向时标签的正确定位,则应正确设置该组件的自动调整大小掩码。要使其正确对齐,请执行以下操作:

label.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
label.autoresizingMask = UIViewAutoresizingFlexibleRightMargin;
要使其左对齐,请执行以下操作:

label.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
label.autoresizingMask = UIViewAutoresizingFlexibleRightMargin;
此外,您还可以选择自动调整标签的宽度:

label.autoresizingMask = UIViewAutoresizingFlexibleWidth;
或者,您可以选择前几项的组合:

label.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin |
                         UIViewAutoresizingFlexibleRightMargin |
                         UIViewAutoresizingFlexibleWidth;

让我知道这是否有帮助。

您要做的是创建
UITableViewCell
的子类,并重写
layoutSubviews
方法。当单元的大小更改时(例如,当您更改接口方向时),将调用它

在此方法中,您首先调用超级实现来正确更新内容、附件、背景等视图的布局。然后更新自定义内容

所有自定义内容都应添加到表视图单元格的
contentView
子视图的子视图中,而不能作为表视图单元格的直接子视图。这很重要,否则选择和突出显示将出错


您还可以直接创建
UIView
的子类,并将其用作完全覆盖
contentView
的子视图,并在那里覆盖
layoutSubviews
,而无需调用超级实现

thanx每个人都做完了。我只是将框架设置为适当的位置,并将其添加到tableviewcell的contentView中

lideCell1.sliderValueForSecond.frame=CGRectMake(25, 8, 400,23);
                slideCell1.tickLbl.frame=CGRectMake(430, -3, 27,40);
                slideCell1.tickLbl.text=@"+";
                slideCell1.tickLbl.font = [UIFont boldSystemFontOfSize:36.0];
                [slideCell1.contentView addSubview:slideCell1.sliderValueForSecond];
                [slideCell1.contentView addSubview:slideCell1.tickLbl];

这里slideCell1是tableviewcell的对象。

如果我想让我的
文本标签缩进16,那么在
cellForRowAtIndexPath:
中,我会键入:

lideCell1.sliderValueForSecond.frame=CGRectMake(25, 8, 400,23);
                slideCell1.tickLbl.frame=CGRectMake(430, -3, 27,40);
                slideCell1.tickLbl.text=@"+";
                slideCell1.tickLbl.font = [UIFont boldSystemFontOfSize:36.0];
                [slideCell1.contentView addSubview:slideCell1.sliderValueForSecond];
                [slideCell1.contentView addSubview:slideCell1.tickLbl];
cell.indentationWidth = 8.0;
cell.indentationLevel = 1;
单元格属性
indicationLevel
(CGFloat)确定缩进
文本标签的宽度的倍数
indicationwidth
(NSInteger)


indentationWidth
的默认值为10.0,
indentationLevel
的默认值为0。

thanx,但我在其他tableview类中,并在该tableview类中导入其他类的tableviewcell。在那个里,我想改变标签在景观中的位置。请帮助我,每个人,最后一天我问如何改变标签在细胞的位置,但我仍然并没有得到。实际上,我在单元格的右角有一个标签,当我把它画成横向时,它位于中心,但我希望它应该在右角。请有人帮助meCGRect tickFrame=CGRectMake(460,110,27,43);[tickLbl setFrame:ticklframe];我正在做这个,但没有工作。您是如何定义
tickLbl
变量的?若你们调试这行代码,你们能看到
tickLbl
是否为空吗?大家好,上一天我问过如何改变单元格中标签的位置,但我还是并没有得到答案。实际上,我在单元格的右角有一个标签,当我把它画成横向时,它位于中心,但我希望它应该在右角。请有人帮我更新答案来面对这个问题。这不是一个简单的位置问题,但它与UI组件的自动调整大小属性有关。