簡體   English   中英

將UILabel文本與特定字符對齊

[英]Align UILabel text to a specific character

我正在使用UILaber以非常大的字體顯示第二個倒計時(大小240)。 顯示的字符串格式為“xxx.xx”,x為字符0-9。 我想將文本與標簽中顯示的字符串中的點字符(。)對齊。 我在標簽中使用textAlignment作為.Center,但是某些字符串的實際顯示長度不同,導致點字符在更新字符串時左右移動。 Fx textContainer為“1”小於“8”。

有可能做這種角色的對齊嗎?

中心是UILabel的中心

有趣的問題伙伴:

請在下面找到解決方案:

故事板使用堆棧

基本上我在這里做的是:

  1. 使用Storyboard我在水平堆棧視圖中采用了3個垂直堆棧視圖。
  2. 只需將第二個垂直堆棧視圖與靜態寬度對齊,其他堆棧視圖將相應調整。
  3. 您可以按照附加的屏幕截圖來查看約束。

標簽不需要約束,只需根據您的需要進行文本對齊。

干杯!

  1. 將三個標簽粘在一起..
  2. label1 | labelDot | label2將匹配您的XX.XXX
  3. 右對齊你的label1,修復你的labelDot,左對齊你的label2
let attributedStringOne = NSAttributedString.init(string: "XXX", attributes: [NSAttributedStringKey.baselineOffset: 0])
let attributedStringTwo = NSAttributedString.init(string: ".", attributes: [NSAttributedStringKey.baselineOffset: label.frame.height / 4])
let attributedText = NSMutableAttributedString.init()
attributedText.append(attributedStringOne)
attributedText.append(attributedStringTwo)

label.attributedText = attributedText

baselineOffsetNSNumber類型。 因此,您可以根據基線設置所需的數量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM