我想根據文本長度設置uilabel的寬度,然後在最上方設置寬度。文字可能會有所不同,所以我不能只是預先定義uilabel的寬度。我的方法是獲取文本的寬度,然後再添加10.0,但不起作用。基於文本長度的目標c uilabel寬度
CGSize tSize = [[self.label1 text] sizeWithAttributes:@{NSFontAttributeName:[self.label1 font]}];
CGFloat tWidth = tSize.width + 10.0;
self.label1.frame = CGRectMake(self.label1.frame.origin.x, self.label1.frame.origin.y, tWidth, self.label1.frame.size.height);
self.label1.backgroundColor = [UIColor blueColor];
任何意見是非常感謝。
電解金屬錳工作正常,你可能想與我們分享如何準確「這是行不通的」。一個問題:你有沒有使用自動佈局? –
如果你的問題是添加填充,請看看這裏:http://stackoverflow.com/questions/3476646/uilabel-text-margin 如果寬度計算不正確,我建議你使用自動佈局,如果你不想,就像@RokJarc建議的那樣,詳細說明它是如何工作的。 – EDUsta
是的,我使用自動佈局,一切正常,但我不希望uilabel的寬度恰好適合,我希望它比文本稍寬。 – bubibu