【问题标题】:UITextView line spacing goes back to default when the .text value is changed更改 .text 值时,UITextView 行距恢复为默认值
【发布时间】:2017-05-02 06:19:14
【问题描述】:

在属性检查器中,我将 UITextView 选项卡中的 .text 属性设置为“已分配”,然后将“行”值更改为 1.5。

当为UITextView 中的.text 字段分配新值时,行距会变回。

左边是main.storyboard中显示的视图控制器,右边是UITextView中给String赋值后的结果,在模拟器中运行。

在更改.text 后,我是否有约束或其他东西来修复行距值?我觉得应该用代码来管理..

let style = NSMutableParagraphStyle()
style.lineSpacing = 40
let attributes = [NSParagraphStyleAttributeName : style]
aboutNeyong.attributedText =
NSAttributedString(string: aboutNeyong.text!, attributes:attributes)

上面的代码是我在赋值语句之后添加的。

【问题讨论】:

  • 显示你是如何设置文本的?
  • 您是在设置 myTextView.text = something 还是 myTextView.attributedText = something ?
  • @UmairAfzal 就像UITextView.text = String();
  • 原始语句包含返回 String 值的其他内容。

标签: ios xcode uitextview spacing


【解决方案1】:

你必须设置最大和最小高度

示例:

style.maximumLineHeight = 10 style.minimumLineHeight = 10

【讨论】:

    【解决方案2】:

    尝试设置 UITextField 的“attributedText”字段而不是“文本”字段。确保传入具有所需间距的属性字符串:

    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
    paragraphStyle.lineSpacing = 15; // Desired line spacing here
    NSDictionary *attrsDictionary = @{ NSParagraphStyleAttributeName: paragraphStyle };
    
    textView.attributedText = [[NSAttributedString alloc] initWithString:@"Your new string here!" attributes:attrsDictionary];
    

    【讨论】:

    • 我编辑了问题;你能检查一下为什么添加的语句没有做任何改变吗?即使使用上面的代码,它也不会改变。
    猜你喜欢
    • 2015-10-31
    • 1970-01-01
    • 2017-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多