【问题标题】:How to fix vertical selection handles in a modified paragraph style in UITextView (iOS)?如何在 UITextView (iOS) 中修改段落样式中的垂直选择句柄?
【发布时间】:2017-06-17 17:57:34
【问题描述】:

这是问题所在:

我做了什么?

我为此文本设置了段落样式:

 let titleParagraphStyle = NSMutableParagraphStyle()
 titleParagraphStyle.alignment = .natural
 titleParagraphStyle.paragraphSpacing = 33

 let attributes = [NSParagraphStyleAttributeName: titleParagraphStyle]

这当然使光标一直HUGE,所以在此之后我覆盖了 caretfor 并且在选择文本之前一切正常:

override func caretRect(for position: UITextPosition) -> CGRect {
        var original = super.caretRect(for: position)
        guard let isFont = self.font else { return original }
        original.size.height = isFont.pointSize - isFont.descender
        return original
    }

我在这里缺少什么?如何使选择句柄与文本大小相等?

【问题讨论】:

  • 你在使用故事板吗?
  • @AaronZheng 没有相关的方式,只是从 UITextView 继承,只是 Storyboard 用于添加视图和链接到源

标签: ios swift uitextview nsattributedstring


【解决方案1】:

目前,您实际上是在更改文本的间距属性,这绝不可能更改选择光标的大小。当您检测到yourTextField.attributedText?.size().width 通过一定距离时,您可以做的只是以编程方式在textDidChange 中设置间距。我想你不是在复制和粘贴,所以这样就可以了。否则请告诉我。

【讨论】:

  • 我不明白你的回答,如果选择了文本,尝试修改 typingAttributes 但没有任何反应
  • 我看到你更新了你的答案,但要清楚,我遗漏了一些步骤,什么可以定义那个特定的距离?如果设置段落间距不正确,会是什么?
猜你喜欢
  • 1970-01-01
  • 2012-04-07
  • 1970-01-01
  • 2020-10-02
  • 2014-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-18
相关资源
最近更新 更多