我想在UILabel中使用特殊字符。但它正在剔除标签。我在红色背景中显示标签边缘的位置。任何可能发生这种情况的原因?我将maskToBounds和clipToBounds设置为NO;UILabel被切断的字母
CGSize lblSize = [FontHelper sizeForText:text withFont:[self getBodyFont] withWidth:kColumnWidth andNumberOfLines:1000];
UILabel*lbl = [[UILabel alloc] initWithFrame:CGRectMake(x,
y + body.frame.size.height - columnHeight - kBottomMargin,
kColumnWidth,
lblSize.height)];
lbl.clipsToBounds = NO;
lbl.layer.masksToBounds = NO;
lbl.text = text;
lbl.backgroundColor = [UIColor redColor];
lbl.font = [self getBodyFont];
lbl.textColor = [UIColor blackColor];
lbl.numberOfLines = 0;
lbl.textAlignment = UITextAlignmentLeft;
lbl.lineBreakMode = UILineBreakModeWordWrap;
我的猜测是kColumnWidth比它需要更宽。我将在Interface Builder中提供此视图以帮助您解决问题。注意:有时IB可能在视觉上欺骗。如果您没有注意到标签右边缘的圆形拖拽点,那么IB很可能会将您的标签自动调整为比屏幕更宽。仔细检查尺寸参数,然后尝试逐像素调整宽度以查看它在哪一点处换行到下一个单词。我还会临时设置'adjustsFontSizeToFitWidth'来看看发生了什么。 – darvids0n
由于应用中没有NIB文件,我无法真正在IB中构建它。我相信它确实与“•”有关,“SizeWithFont”方法不能正确计算它。最大的问题是clipsToBounds确实可以解决这个问题。 – smcdrc
我的意思是暂时性的,看它在IB中是否与在测试程序创建的视图时一样。 – darvids0n