我想根据文本长度设置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