【问题标题】:UILabel text alignment not working (Swift 4)UILabel 文本对齐不起作用(Swift 4)
【发布时间】:2023-04-08 10:32:01
【问题描述】:

我正在尝试对齐 UILabel 中的文本,但它不起作用。文本打印时标签的第二行紧贴标签的左侧。如何使两条线在标签的中心对齐?谢谢。

let bioTextView: UILabel = {
    let tv = UILabel()
    tv.text = "This is sample text for a bio label for a user on this platform."
    tv.backgroundColor = .clear
    tv.textColor = .white
    tv.lineBreakMode = .byWordWrapping
    tv.numberOfLines = 0
    tv.textAlignment = NSTextAlignment.right
    return tv
}()

请查看以下屏幕截图以了解该问题。我的要求是使文本适合拖线。

【问题讨论】:

  • 使用 tv.textAlignment = .justified
  • 抱歉,这仍然导致第二行紧贴标签的左侧 :( 不过谢谢
  • @ethan-wilk :测试了您的代码,文本似乎与 value .center 完全对齐,您面临的问题是什么?添加截图进一步说明
  • 通过将textAlignment值改为.center,就必须实现输出。如果您仍然遇到问题,我们将非常感谢您提供屏幕截图。
  • @KeyurTailor 这是问题的图片:imgur.com/a/crcX9Ah 也许是锚定问题?

标签: ios swift xcode uilabel anchor


【解决方案1】:

将视图添加为子视图后尝试设置对齐方式。

view.addSubview(self.bioTextView)
bioTextView.textAlignment = .center

【讨论】:

    【解决方案2】:

    试试这个:

    let bioTextView: UILabel = {
        let tv = UILabel()
        tv.backgroundColor = .clear
        tv.textColor = .white
        tv.lineBreakMode = .byWordWrapping
        tv.numberOfLines = 0
    
        let textString = NSMutableAttributedString(
                string: "This is sample text for a bio label for a user on this platform.",
                attributes: [:])
        let textRange = NSRange(location: 0, length: textString.length)
            let paragraphStyle = NSMutableParagraphStyle()
    
        paragraphStyle.alignment = .center
        textString.addAttribute(NSAttributedString.Key.paragraphStyle, value: paragraphStyle, range: textRange)
        tv.attributedText = textString
    
        return tv
    }()
    

    【讨论】:

      【解决方案3】:

      如果有人在使用 UIStackView 并遇到此问题:stackView.alignment 可能会破坏 label.textAlignment 属性。只需删除stackView.alignment

      【讨论】:

        【解决方案4】:

        更新以下代码行将解决您的问题:

        tv.textAlignment = .center
        

        这将使您的标签文本居中对齐。

        【讨论】:

        • 抱歉,这仍然导致第二行紧贴标签的左侧 :( 不过谢谢
        • 检查一次你的标签框
        • @Anbu.karthik,说对了,看看你的标签框。你可以发布相同的图片吗?
        • @SagarChauhan 这是问题的图片:imgur.com/a/crcX9Ah 也许是锚定问题?
        • 你在使用任何自定义类的 UILabel 吗?
        猜你喜欢
        • 1970-01-01
        • 2016-11-07
        • 1970-01-01
        • 2015-10-25
        • 2012-06-29
        • 2012-01-25
        • 2011-03-24
        • 2012-09-12
        • 2016-05-04
        相关资源
        最近更新 更多