ios - 快速改变行距留下底部空白
问题描述
我正在尝试更改标签的行距以减少阿拉伯语的行距,它太多了。我从这里使用的扩展功能以及阿拉伯样式的添加正在控制标签的行距,但它留下的唯一问题是底部边距空白我假设在减少行距之前等于相同的标签大小。
这里的扩展功能:
extension UILabel {
// Pass value for any one of both parameters and see result
func setLineSpacing(lineSpacing: CGFloat = 0.0, lineHeightMultiple: CGFloat = 0.0) {
guard let labelText = self.text else { return }
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineSpacing = lineSpacing
paragraphStyle.lineHeightMultiple = lineHeightMultiple
paragraphStyle.alignment = .justified
paragraphStyle.baseWritingDirection = .rightToLeft
let attributedString:NSMutableAttributedString
if let labelattributedText = self.attributedText {
attributedString = NSMutableAttributedString(attributedString: labelattributedText)
} else {
attributedString = NSMutableAttributedString(string: labelText)
}
attributedString.addAttribute(NSAttributedString.Key.paragraphStyle, value:paragraphStyle, range:NSMakeRange(0, attributedString.length))
self.attributedText = attributedString
}
}
然后我只是这样调用函数:
bodyLabel.attributedText = entry.attributedText
bodyLabel.setLineSpacing(lineSpacing: -20)
解决方案
我尝试了扩展它工作正常,如下所示:
bodyLabel.attributedText = entry.attributedText
bodyLabel.setLineSpacing(lineSpacing: -20)
bodyLabel.sizeToFit()
此外,如果这不起作用,请检查标签的高度,并尝试将内容设置为填充。
bodyLabel.contentMode = .scaleAspectFill
推荐阅读
- azure - arm模板virtualNetworkName创建附录问题
- apache-spark - apache spark:重新启动后已删除已完成的应用程序历史记录
- r - 用零替换破折号而不影响负数
- r - 替换变量中的 NA?
- go - 在 Go 中启动后守护进程
- javascript - 是否可以允许用户以安全的方式修改 React 应用程序?
- google-cloud-platform - 谷歌云存储传输
- ios - 如何在 iOS 图表的左轴上添加字符串?
- django - 没有调用mixin中的get_context_data
- authentication - 如何在 Java 中制作注册和登录示例并在不使用数据库语言的情况下存储注册记录?