如何在 Swift 4 中增加 UILabel 中的行距



我想增加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 
}

注意使用 加载返回或任意数量的返回。确保它们在字符串指定内。

相关内容

  • 没有找到相关文章

最新更新