我在循环中创建的UILabel有问题。
当左侧标签文本太长时,它会将正确的标签推出视图,它不会将其内容包装到下一行。
我尝试过设置不同的高度,约束和拥抱/压缩值,但没有任何效果。
这是导致问题的代码的一部分:
require
提前感谢您的帮助。
答案 0 :(得分:0)
我可以看到它的方式,你有两个选择:
这样的事情:
let titleLabel = UILabel(frame: CGRectMake(8, 8, 20, 80))
titleLabel.text = display_name
titleLabel.font = UIFont(name: "Helvetica", size: 12)
titleLabel.numberOfLines = 0
titleLabel.lineBreakMode = NSLineBreakMode.ByWordWrapping
titleLabel.translatesAutoresizingMaskIntoConstraints = false
self.view.addSubview(titleLabel)
let leadingConstaint = NSLayoutConstraint(item: titleLabel, attribute: NSLayoutAttribute.Leading, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.Leading, multiplier: 1.0, constant: 0)
let trailingConstaint = NSLayoutConstraint(item: titleLabel, attribute: NSLayoutAttribute.Trailing, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.Trailing, multiplier: 1.0, constant: 0)
let topConstaint = NSLayoutConstraint(item: titleLabel, attribute: NSLayoutAttribute.Top, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.Top, multiplier: 1.0, constant: 0)
self.view.addConstraints([leadingConstaint, trailingConstaint, topConstaint])
for (key_name, display_name) in ConfiguratorMaps.cableMap {
if(searchResultsObject?.fuse!.row!.value(named: key_name) == nil) {
continue;
}
titleLabel.text += display_name
}
答案 1 :(得分:0)
将TitleLabel ContentHuggingPriority设置为250 将ValueLabel ContentHuggingPriority设置为251 将ValueLabel水平内容压缩优先级设置为751。
通过设置这些值,它将显示值标签的全文。