我正在尝试动态设置标签大小。它以一种奇怪的方式工作,我将一些文本切断。 我首先设置我的标签文本,然后尝试像这样调整它的大小。UILabel文本被截断
_switch2Label.text = @"Call on alarm, there will be no call if other user of alarm system will recieve an alarm call and confirm (answer) it by pressing 0#";
_switch2Label.numberOfLines = 0;
[self newFrame:_switch2Label];
- (void) newFrame:(UILabel *) label
{
CGSize maxSize = self.view.bounds.size;
maxSize.width = maxSize.width - 30;
CGSize labelSize = [label.text sizeWithFont:label.font constrainedToSize:maxSize lineBreakMode:label.lineBreakMode];
CGRect newFrame = label.frame;
newFrame.size.height = labelSize.height;
label.frame = newFrame;
}
我只得到三行文字,而这个标签需要五行。也许有人可以在这里看到我的错误?如果我添加更多文本来标记它会显示出来,但仍然有大约两行标签文本被截断。
尝试最大范围更改为MAXFLOAT,MAXSIZE = CGSizeMake(MAXFOAT,self.view.bounds.size。宽度-30); – zt9788
试试这个, maxSize.width = label.frame.size.width; –
拉胡尔,这确实有效,写这个答案,我会接受它。如果你可以 - 你可以解释一下,为什么宽度是这样的?我的高度计算错误,而不是宽度,所以对我来说有点不清楚。 – Datenshi