我有一个UITableViewCell,我想向右侧添加视图(除附件视图外)。我试图将textLabel的大小设置为几个像素较窄,但它只是调整大小。调整大小UITableViewCell textLabel
有什么方法可以调整textLabel的大小吗?
我有一个UITableViewCell,我想向右侧添加视图(除附件视图外)。我试图将textLabel的大小设置为几个像素较窄,但它只是调整大小。调整大小UITableViewCell textLabel
有什么方法可以调整textLabel的大小吗?
无法调整UITableViewCellStyleDefault类型的UITableViewCell实例中默认textLabel属性所引用的对象的大小,至少不是我的经验。在这些情况下,最好的办法是在代码中创建自己的UITableViewCell的子类,如果需要的话也可以使用Interface Builder创建自己的子类,并为其提供所需的布局。
- (void)layoutSubviews {
[super layoutSubviews]; //The default implementation of the layoutSubviews
CGRect textLabelFrame = self.textLabel.frame;
textLabelFrame.size.width = _textLabelMaxWidth;
self.textLabel.frame = textLabelFrame;
}
希望它能帮助:
其实,如果你创建的UITableViewCell子类,并重写layoutSubviews方法就可以调整。
我注意到textLabel调整大小以适应accessoryView。所以如果你想让标签使用整个单元格,你可以将accessoryView设置为零(我认为这是默认行为)。或者,例如,如果您希望标签仅占用单元格的左半部分,请使accessoryView成为横跨单元右半部分的空UIView。 (不一定是空的,你可以把东西放在那里......我的观点是它会缩小文本标签。)
你可以用这种最简单的方法来调整UITableView Cell的大小。首先,看看我的示例项目。
它会告诉你如何可以将其内部组件中最简单的方式创建约束调整的UITableView细胞群。
tblTest.estimatedRowHeight = 100 // This is where you can set your estimated row height
tblTest.rowHeight = UITableViewAutomaticDimension
应该
为了让你明白,我设置的UILabel里面的UIView,看看我是怎么在其父UIView上创建约束。
如果您仍然需要任何帮助,只需询问。
祝你好运
这只适用于我单元格重新加载,任何想法? – 2013-03-16 22:09:24
@AdamCarter是的,这是如何工作的,除非你想在不同的时间和不同的事件中改变它。 – 2013-03-26 10:22:23
这对我来说非常有用。我确实有一个UITableViewCell的子类,标签大小将继续返回到故事板默认值。我很欣赏这个建议! – mikeho 2014-05-17 02:52:39