我想增加UILabel中的行距,但我不知道怎么做。
我在Stackoverflow上找到了这个解决方案[https://stackoverflow.com/a/39158698/8633963],但我的Xcode总是显示这个:
Use of unresolved identifier 'NSParagraphStyleAttributeName'
我认为答案是正确的,但它对我不起作用。任何人都可以帮助解决这个问题吗?
Swift 5
import UIKit
extension UILabel {
func setLineHeight(lineHeight: CGFloat) {
guard let text = self.text else { return }
let attributeString = NSMutableAttributedString(string: text)
let style = NSMutableParagraphStyle()
style.lineSpacing = lineHeight
attributeString.addAttribute(
NSAttributedString.Key.paragraphStyle,
value: style,
range: NSMakeRange(0, attributeString.length))
self.attributedText = attributeString
}
}
在这种情况下,在 Swift 4 中,您必须使用 NSAttributedStringKey.paragraphStyle
而不是 NSParagraphStyleAttributeName
这对
我有用。
import UIKit
extension UILabel {
func setLineHeight(lineHeight: CGFloat) {
let text = self.text
if let text = text {
let attributeString = NSMutableAttributedString(string: text)
let style = NSMutableParagraphStyle()
style.lineSpacing = lineHeight
attributeString.addAttribute(NSParagraphStyleAttributeName, value: style, range: NSMakeRange(0, count(text)))
self.attributedText = attributeString
}
}
}
看看这个非常简单的解决方案!
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! CommentTVCCell
// Configure the cell...
cell.myLabel?.text = "n[(indexPath.row + 1)]nn" + itemArray[indexPath.row].name
//
return cell
}
注意使用 加载返回或任意数量的返回。确保它们在字符串指定内。