【问题标题】:Control Line Spacing in UITextViewUITextView 中的控制行间距
【发布时间】:2020-04-04 21:27:21
【问题描述】:

我正在尝试删除 UITextView 中的行空格,但似乎无法弄清楚。 我尝试了 textContainer.lineFragmentPadding 和 NSLineBreakMode,但没有成功。

【问题讨论】:

  • 是的。但随后 text.font = UIFont(name: "AvenirNextCondensed-Regular", size: font_size) 停止工作并且字体大小关闭。如果我在样式之后移动 UIFont,那么行空间再次关闭。

标签: ios swift xcode swift3


【解决方案1】:

您应该像这样使用NSAttributedString 而不是String

let attributedString = NSMutableAttributedString(string: "Your text")

// *** Create instance of `NSMutableParagraphStyle`
let paragraphStyle = NSMutableParagraphStyle()

// *** set LineSpacing property in points ***
paragraphStyle.lineSpacing = 2 // Whatever line spacing you want in points

// *** Apply attribute to string ***
attributedString.addAttribute(NSAttributedString.Key.paragraphStyle, value:paragraphStyle, range:NSMakeRange(0, attributedString.length))
if let font = UIFont(name: "AvenirNextCondensed-Regular", size: font_size) {
    attributedString.addAttribute(NSAttributedString.Key.font, value: font, range: NSMakeRange(0, attributedString.length))
}

// *** Set Attributed String to your label ***
textView.attributedText = attributedString

【讨论】:

  • 谢谢。我可以像这样控制行距。但是一旦我添加样式,字体大小就会关闭。 text.font = UIFont(name: "AvenirNextCondensed-Regular", size: font_size) 不再起作用了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-06
  • 2014-10-10
  • 2011-04-18
  • 2011-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多