昨天我问过如何在表格视图单元格中更改标签的位置,但我仍然没有得到它。实际上,我在单元格的右角有一个标签。当我改为横向模式时,它会移动到中心,但我希望它在右上角。请有人帮助我。
答案 0 :(得分:0)
以下是文章In巫婆我描述了如何创建自定义tableViewCell
可能有助于Custom tableViewCell example with images and lables检查它。
答案 1 :(得分:0)
首先,您需要自定义UITableViewCell
实例,方法是以编程方式向其添加UILabel
对象,或通过Interface Builder进行设计。
放置标签后,要更改其位置,您应该考虑编辑其框架属性。 E.g:
UILabel *label = cell.label; // You should change this code to properly read the label
CGRect frame = label.frame;
frame.position.x = new_x_position;
frame.position.y = new_y_position;
label.frame = frame;
这样您就可以根据需要更新标签的位置。
如果您遇到的问题是在更改界面方向时正确定位标签,则应正确设置该组件的自动调整遮罩。为了使其正确对齐:
label.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
使其左对齐:
label.autoresizingMask = UIViewAutoresizingFlexibleRightMargin;
此外,您可以选择自动调整标签的宽度:
label.autoresizingMask = UIViewAutoresizingFlexibleWidth;
或者,您可以选择以前的组合:
label.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleWidth;
如果有帮助,请告诉我。
答案 2 :(得分:0)
您要做的是创建UITableViewCell
的子类,并覆盖layoutSubviews
方法。当单元格的大小发生变化时,例如当您更改界面方向时,将调用它。
在此方法中,您首先调用超级实现以正确更新内容,附件,背景等视图的布局。然后更新您的自定义内容。
应该为所有自定义内容添加表格视图单元格的contentView
子视图的子视图,而不是作为表格视图单元格的直接子视图。这很重要,否则选择和突出显示会搞砸。
您还可以直接创建UIView
的子类,并将其用作完全覆盖contentView
的子视图,并在那里覆盖layoutSubviews
,而无需调用超级实现。
答案 3 :(得分:0)
感谢每个人都做到了。我只是将帧设置为正确的位置并添加到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的对象。
答案 4 :(得分:0)
如果我希望我的textLabel
缩进16,那么在cellForRowAtIndexPath:
中,我会输入:
cell.indentationWidth = 8.0;
cell.indentationLevel = 1;
单元格属性indentationLevel
(CGFloat)确定缩放indentationWidth
的宽度textLabel
(NSInteger)的倍数。
indentationWidth
的默认值为10.0,默认值indentationLevel
为0。