我想在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