我正在尝试制作一个非常自定义的UILabel。调用viewDidAppear
时,将设置UILabel的attributedText
属性。 此UILabel需要为2行。我在故事板中将minimumFontSize
设置为7并将numberOfLines
设置为2.
这是我的代码:
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineSpacing = 8.0
paragraphStyle.alignment = NSTextAlignment.Right
let name = idea?.valueForKey("name") as! String
let text = "You submitted your name " + name
let attrString = NSMutableAttributedString(string: text)
attrString.addAttribute(NSFontAttributeName, value: UIFont.systemFontOfSize(12.00), range: NSMakeRange(0,attrString.length))
attrString.addAttribute(NSParagraphStyleAttributeName, value: paragraphStyle, range: NSMakeRange(0, attrString.length))
attrString.addAttribute(NSForegroundColorAttributeName, value: UIColor(r: 84, g: 105, b: 121, a: 1.0), range: NSMakeRange(0, 3))
attrString.addAttribute(NSForegroundColorAttributeName, value: UIColor(r: 84, g: 105, b: 121, a: 1.0), range: NSMakeRange(attrString.length - name.characters.count, name.characters.count))
submittedComment.attributedText = attrString
ISSUE: UILabel的新设置文本未调整大小以适合UILabel。
我错过了什么吗?似乎每个新的主要iOS更新都会改变这种情况。谢谢!
答案 0 :(得分:0)
<强>解决:强> 我发现了两个主要错误:
似乎在NSMutableAttributedString上设置lineSpacing
会隐藏一些文本。根据我的测试,看起来UILabel的自动调整功能在调整大小时不会考虑这一点。
我的UILabel有一个设定的宽度和高度。这里的问题是设置高度,这在我的情况下是不必要的。删除后,attributedText
不再被隐藏。
希望这有帮助!