例如,我有以下兩個字符串:「窗戶裏有多少小鳥?」和「S22-E7」。我想在標籤中提供以下內容:「How to be Birdie in ... S22 - E7」如果字符串根據標籤尺寸太大而不適合它「。您怎麼看,這三個點是第一個字符串中始終放置,第二個字符串總是顯示滿。當文本太長時,如何在文本中間而不是末尾添加UIlabel的三個點?
我怎樣才能做到這一點?
例如,我有以下兩個字符串:「窗戶裏有多少小鳥?」和「S22-E7」。我想在標籤中提供以下內容:「How to be Birdie in ... S22 - E7」如果字符串根據標籤尺寸太大而不適合它「。您怎麼看,這三個點是第一個字符串中始終放置,第二個字符串總是顯示滿。當文本太長時,如何在文本中間而不是末尾添加UIlabel的三個點?
我怎樣才能做到這一點?
您可以設置UILabel的ParagraphStyle LineBreakMode到byTruncatingMiddle,這將很可能在大多數情況下工作仔細計劃標籤尺寸從文檔:
該行顯示,以便beginnin g並結束放入容器中,中間缺少的文字用省略號字形表示。這種模式用於單行佈局
如果要保證的沒有「S22 - E7」的字符串被截斷,你會使用兩種標籤,並設置佈局限制有更多的控制,使得寬度被保護的標籤被保留下來,以便儘可能顯示完整的字符串,但這在大多數情況下可能是矯枉過正的。
如果決定通過手動操縱顯示的字符串來決定走另一條路線,那麼您可能會發現this answer有幫助,方法是根據檢測到的字符寬度和字體來顯示多少字符。
以下是如何操作。
yourlabel.adjustsFontSizeToFitWidth = false
yourlabel.lineBreakMode = .byTruncatingMiddle
請使用正確的格式。 –
設置'lineBreakMode'到'byTruncatingMiddle'您的UILabel –
你的問題離開了很多重要的細節。這是通過故事板或通過代碼設置的標籤嗎?如果通過代碼,什麼語言? – rmaddy