所以,我有一个自定义单元类,在实现中我有这个代码:
- (void)layoutSubviews {
[super layoutSubviews];
CGRect contentRect = self.contentView.bounds;
CGFloat boundsX = contentRect.origin.x;
CGRect frame;
frame = CGRectMake(boundsX+10,10, 50, 50);
picture.frame = frame;
frame = CGRectMake(boundsX+75 ,0, 170, 50);
nameLabel.frame = frame;
frame = CGRectMake(boundsX+75 ,43, 225, 23);
costLabel.frame = frame;
frame = CGRectMake(boundsX+280, 30, 8, 13);
arrow.frame = frame;
}
现在让我们看看下图这个布局是如何工作的:
我对结果很满意,但我也想根据 nameLabel 更改单元格中的costLabel位置。如果nameLabel中有两个文本,我不想更改 costLabel 的位置,但是如果 nameLabel 只有一个文本,我想将costLabel上移,这样我就可以摆脱空间并制作costLabel更接近nameLabel。lines
line
我在cellForRowAtIndexPath试过这个:
CGRect frame = cell.costLabel.frame;
frame.origin.y = frame.origin.y-10; // new y coordinate
cell.costLabel.frame = frame;
但它没有用。
任何解决方案或想法,我怎样才能改变CGRect
坐标(y原点)?