use*_*076 1 xcode constraints word-wrap swift
我的应用程序使用自定义单元格在 tableview 中显示产品。在 iPhone 5 上使用时,产品名称用完了,所以我将它设置为 wrap ,这不起作用。每个单元格都使用下面的代码填充到我的 Customcell 类中,我在brandTxt 标签中添加了几行,这又不起作用。
public func configure(#text: String?, placeholder: String) {
if (placeholder == "1")
{
brandItemLabel.text = text
brandItemLabel.lineBreakMode = NSLineBreakMode.ByWordWrapping
brandItemLabel.numberOfLines = 2
}
else if (placeholder == "2")
{
brandSmallLabel.text = text
}
else if (placeholder == "3")
{
uomCodeLabel.text = text
}
else if (placeholder == "4")
{
codeLabel.text = text
}
else if (placeholder == "6")
{
var image = UIImage(named: "Blank.jpg")
if let url = NSURL(string: text!) {
if let data = NSData(contentsOfURL: url) {
image = UIImage(data: data)
}
}
var imgViewLbl = UIImageView(image: image) as UIImageView
imgViewLbl.frame = CGRect(x: 10, y: 4, width: 90, height: 90)
customView.addSubview(imgViewLbl)
}
}
Run Code Online (Sandbox Code Playgroud)
我也试过使用约束,但这也不起作用
我已经使用 preferredMaxLayoutWidth 添加了下面的代码,并在大小管理器中将首选宽度设置为显式,并添加了约束来设置大小和高度以及位置。
public func configure(#text: String?, placeholder: String) {
if (placeholder == "1")
{
brandItemLabel.text = text
brandItemLabel.lineBreakMode = NSLineBreakMode.ByWordWrapping
brandItemLabel.numberOfLines = 2
brandItemLabel.preferredMaxLayoutWidth = 330
}
Run Code Online (Sandbox Code Playgroud)
尽管进行了这些更改,但 UILabel 仍未换行
小智 5
当您的目标是 iOS 6 到 8 或更高版本时,您必须在 UILabel 上显式设置 preferredWidth 属性。如果标签有多于一行,则必须这样做。另见preferredMaxLayoutWidth:
所以你只需要指定这个值(在大多数情况下,最好去故事板,点击标签,去“尺寸检查器”,然后点击“首选宽度”旁边的“显式”)。
| 归档时间: |
|
| 查看次数: |
7227 次 |
| 最近记录: |