我尝试做一些测验并且我的答案按钮有问题。 简单的事实:文本太长,我尝试使用不同的方法为单元格自动调整它。我目前的状态:
for btn in btnArr{
btn.titleLabel!.minimumScaleFactor = 0.3
btn.titleLabel!.numberOfLines = 0
btn.titleLabel!.adjustsFontSizeToFitWidth = true
btn.titleLabel?.baselineAdjustment = UIBaselineAdjustment.AlignCenters
//btn.contentEdgeInsets = UIEdgeInsets(top: 3.0,left: 3.0,bottom: 3.0,right: 3.0)
}
我希望有人能为我做另外一个选择:)
此致 帕特里克
编辑:
self.view.addConstraint(NSLayoutConstraint(item: btn.titleLabel!, attribute: NSLayoutAttribute.Height, relatedBy: NSLayoutRelation.Equal, toItem: btn, attribute:NSLayoutAttribute.Height, multiplier: 0.99, constant: 0))
答案 0 :(得分:3)
使用自动布局,您可以设置按钮之间的间距以及最大和最小尺寸。在所有标签的代码中使用:
self.button.titleLabel.numberOfLines = 0;
self.button.titleLabel.adjustsFontSizeToFitWidth = YES;
使用此标签调整文本大小。
对于titleLabel的adjust按钮,使用titleLabel的自动布局约束。例如:
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.button.titleLabel
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeHeight
multiplier:0.5
constant:0]];
此约束将titleLabel的高度定义为self.view
高度的50%。现在,您可以根据需要调整约束。
这项工作在你的代码?
答案 1 :(得分:0)
假设单元格的高度相同且字体相同,则可以通过将“numberOfLines”设置为0以外的值(如3或4)来限制文本。