【问题标题】:How to set Alignment in NSMutableAttributedString iOS Swift 3如何在 NSMutableAttributedString iOS Swift 3 中设置对齐
【发布时间】:2017-04-17 15:35:32
【问题描述】:

我想在 iOS Swift 3 Xcode 8.3 中更改我的 html 的对齐方式
一切正常,但我不知道对齐
我的代码是这样的:

extension String {
    func htmlAttributedString() -> NSAttributedString? {
        guard let data = self.data(using: String.Encoding.utf16, allowLossyConversion: false) else { return nil }

        let style = NSMutableParagraphStyle()
        style.alignment = NSTextAlignment.center


        guard let html = try? NSMutableAttributedString(
            data: data,
            options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,NSTextAlignment:.center],
            documentAttributes:nil) else { return nil }


        return html
    }
}

【问题讨论】:

    标签: ios swift alignment nsmutableattributedstring


    【解决方案1】:

    得到错误的原因是options参数是一个类型为:[String : Any]的字典,传递NSDocumentTypeDocumentAttribute(String)和NSTextAlignment(Int)是非法的(字典是强类型的)。​​

    解决方案是使用NSMutableParagraphStyle 并将其添加为选项;您已经被声明为一个并将其对齐设置为.center,但您没有使用它!

    您应该使用NSParagraphStyleAttributeName 键(而不是NSTextAlignment)添加它,如下所示:

    extension String {
        func htmlAttributedString() -> NSAttributedString? {
            guard let data = self.data(using: String.Encoding.utf16, allowLossyConversion: false) else { return nil }
    
            let style = NSMutableParagraphStyle()
            style.alignment = NSTextAlignment.center
    
            guard let html = try? NSMutableAttributedString(
                data: data,
                options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,
                          NSParagraphStyleAttributeName: style],
    
                documentAttributes:nil) else { return nil }
    
            return html
        }
    }
    

    注意NSParagraphStyleAttributeName的数据类型是String,这意味着选项dictionary的数据类型将是-legally-[String : Any]

    【讨论】:

      猜你喜欢
      • 2015-10-07
      • 1970-01-01
      • 2017-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-15
      • 1970-01-01
      • 2017-01-30
      相关资源
      最近更新 更多