我正在使用带有UITableViewCellStyleSubtitle的UITableViewCell。但是,由于我要在单元格中使用背景图像,所以我不喜欢detailTextLabel的去向。我想移动它并在单元格中调整它的大小,但是我尝试的任何方法似乎都无效。
CGRect currRect = cell.detailTextLabel.frame;
cell.detailTextLabel.frame = CGRectMake(currRect.origin.x + 20, currRect.origin.y, currRect.size.width - 40, currRect.size.height);
我尝试将这段代码放到tableView:cellForRowAtIndexPath和tableView:willDisplayCell:forRowAtIndexPath方法中,但均不起作用。标签只是停留在原处,且尺寸相同。
正确调整标签的其他属性(textAlignment,backgroundColor,当然还有文本本身)。
如何获取detailTextLabel移至需要的位置?
如果这很重要(尽管我不明白为什么要这么做),则此特定单元格还设置了imageView.image和backgroundImage属性。两张图像均正确显示。
最佳答案
您需要一个自定义的UITableViewCell
子类,该子类将覆盖layoutSubviews,以完成布局其中所有 subview 的工作。调用super然后调整detailTextLabel.frame
可能是最容易的事情。