簡體   English   中英

如何水平對齊狀態欄項目文本?

[英]How can I horizontally align my status bar item text?

我正在快速學習,所以我開始使用時鍾應用程序。 我能夠讓它工作,但樣式不是我所期望的。 當時間改變時,整個標題就會改變。 是否可以防止文本移動?

這是正在發生的事情: https : //imgur.com/A5yj6CI.gif

guard let statusButton = statusBarItem.button else { return }
let formatter = DateFormatter()

let timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { timer in
  formatter.dateFormat = "hh:mm:ss.S"
  let dateTimeString = formatter.string(from: Date())
  statusButton.title = dateTimeString
}

左對齊是解決方案嗎? 如果沒有,有哪些選擇?

如果您的標簽沒有足夠的空間來容納移位(由於標簽值不斷變化),則左對齊標簽將無助於解決您的問題,因此我相信您可以通過為您的標簽設置固定寬度約束來解決它標簽。

首先,您需要將標簽設置為最大可能的標簽值,即在您的情況下為 99:99:99.9,看看標簽寬度的值是多少。

在此處輸入圖片說明

然后為您的標簽設置寬度約束。

在此處輸入圖片說明

最后設置的約束值需要比你在第一步看到的最寬可能的寬度稍大。

在此處輸入圖片說明

這樣,您的標簽將有足夠的可用空間來進行移動,而不會改變可能與其有約束連接的其他元素的整體外觀。

我最終使字體等寬

statusButton.font = NSFont(name: typeFace, size: 14)

暫無
暫無

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

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