我是iOS的初学者,我正在尝试制作数字键盘。我遇到的问题是,文本(数字显示)太靠近边框。如下图所示。
我首先尝试在标签中使用attributedString而不是纯文本。但是将它设置为1会给我这个。即使将其设置为0.0000000001也没有任何区别。
这是我的配置
由于此方法似乎不起作用,我接着尝试使用段落样式。这是我的代码
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.tailIndent = -0.1
let attributes = [NSParagraphStyleAttributeName: paragraphStyle]
然后我意识到myLabel.attributedText
是NSAttributedString
,而不是NSMutableAttributableString
,这意味着它没有addAttribute
方法。我还没有办法让myLabel.attributedText
成为NSMutableAttributableString
。所以这对我不起作用。
我的问题是,如何在标签中为我的文字提供正确的尾部缩进?
我尝试过这个并不起作用。
@IBOutlet weak var display: UILabel!
didSet {
let myString = display.attributedText!.string
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.tailIndent = -0.0000000001
let attributes = [NSParagraphStyleAttributeName: paragraphStyle]
let myMutableAttributedString = NSMutableAttributedString(string: myString, attributes: attributes)
display.attributedText = myMutableAttributedString
}
}
答案 0 :(得分:1)
您可以在NSMutableAttributedString
属性中使用attributedText
,因为它是NSAttributedString
的子类:
let myString = "0.01"
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.tailIndent = -0.1
let attributes = [NSParagraphStyleAttributeName: paragraphStyle]
let myMutableString = NSMutableAttributedString(
string: myString,
attributes: attributes)
然后在myLabel
:
myLabel.attributedText = myMutableString