假設我正在創建一個計算器,並且我知道我將支持最多20個數字的肖像和40個數字的橫向。如何在iOS/Swift中爲指定寬度創建固定寬度標籤?
如何創建或調整標籤以顯示最大數字位數,以便在我們添加或刪除結果中的數字時不會調整大小?
代碼我已經嘗試過;
let labelFont : UIFont = resultDigitsLabel.font;
let originalString : String = "00000000000000000000";
let nsString : NSString = originalString as NSString;
var labelSize : CGSize = nsString.size(attributes: [NSFontAttributeName: labelFont]);
labelSize.height = 0;
let labelRect : CGRect = resultDigitsLabel.frame;
let newFrame :CGRect = CGRect(origin: labelRect.origin, size: labelSize);
resultDigitsLabel.frame = newFrame;
resultDigitsLabel.layer.borderWidth = 0.5;
resultDigitsLabel.layer.cornerRadius = 5.0;
到目前爲止沒有運氣,原來的幀復位不會出現調整標籤和我添加或刪除數字框架(通過觀看境)也重新調整。
我沒有看到任何大小的約束,應該創建約束而不是通過更改框架來設置寬度?
任何其他提示?
謝謝。
標籤的最大寬度可以是任意點的屏幕寬度。因此,添加一個標籤並在標籤上添加尾隨和前導約束,將約束常量設置爲0.這將使其覆蓋整個屏幕寬度,並將字符數限制爲縱向20個,橫向40個,全部爲 –