我在方法heightForRowAtIndexPath
中增加了单元格的高度,因此label
正在集中。
如何确保label
仍然位于文本顶部,而不管行的高度如何?
答案 0 :(得分:2)
在分配UITableViewCell时,您需要这样做..
UITableViewCell * cell;
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:string];
在使用样式初始化时:UITableViewCellStyleSubtitle
将会出现。
希望这会有效..
答案 1 :(得分:1)
撰写以下代码:
UILabel *myLable = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, width, height)];
[cell.contentView addSubView: myLable];
如果您希望myLable
帧与myLable.text
类似,则写入..
[myLable sizeToFit];
答案 2 :(得分:1)
你可以用两种方式做到这一点。
创建自定义标签并设置它的框架。
UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT)];
[cell.contentView addSubView:lbl];
使用UITableViewCell
子类并覆盖-layoutSubviews
。在此方法中,您需要调用[super layoutSubviews]
。
- (void)layoutSubviews {
[super layoutSubviews];
CGSize size = self.bounds.size;
CGRect frame = CGRectMake(0.0f, 0.0f, size.width, size.height);
self.textLabel.frame = frame;
self.textLabel.contentMode = UIViewContentModeScaleAspectFit;
}
答案 3 :(得分:1)
您无法更改textlabel
的位置,因为它是自动调整的。
第一个选项是你需要子类UITableViewCell并自定义textLabel框架。
另一个是您创建自己的自定义标签并使textlabel为零。因此,每当细胞的高度发生变化时,您的标签位置都不会改变。
答案 4 :(得分:0)
设置autolayout
的{{1}} Top属性。
答案 5 :(得分:0)
试试这个:
将False设置为自定义单元格的“Autoresize Subviews”属性...