我有一个属性字符串,我想减小它的标准行高。为此,我需要为lineSpacing
设置一个负数NSMutableParagraphStyle
。但是根据苹果公司的文档,这是非法的。
有趣的事实是,负数lineSpacing
实际上可以工作,但是会在UILabel
中引起额外的底部间距,具体取决于行数。
是否可以减少行高而没有副作用?
答案 0 :(得分:1)
使用NSParagraphStyle.lineHightMultiple https://developer.apple.com/documentation/uikit/nsparagraphstyle/1528614-lineheightmultiple
您可以将lineHeightMultiple设置为大于0但小于1的值,这将减少行距。
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineHeightMultiple = 0.83 //Try different values here to see what looks best
let attrString = NSMutableAttributedString(string: "Your string")
attrString.addAttribute(.paragraphStyle, value: paragraphStyle, range: NSMakeRange(0, attrString.length))
您也可以从情节提要中执行此操作: