2

我创建了一个显示单个大字符的 UILabel。即使使用 clipsToBounds = NO; 我仍然得到剪辑。

见链接:http: //img341.imageshack.us/img341/5310/screenshot20100814at243.png

我使用了以下代码:

 CGSize fBounds = [myLabel.text sizeWithFont:cFont];

得到什么应该是字体的边界矩形。并且标签是用以下方式绘制的:

myLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 20, 280, 300)];
 myLabel.clipsToBounds = NO;
 myLabel.numberOfLines = 1;
 myLabel.textAlignment = UITextAlignmentCenter;
 myLabel.adjustsFontSizeToFitWidth = YES;
 myLabel.minimumFontSize = 10;
 myLabel.text = @"A";
 myLabel.font = [UIFont fontWithName:@"CourierNewPSMT" size:300];
 myLabel.textColor = [UIColor blackColor];
 myLabel.backgroundColor = [UIColor colorWithRed:1 green:.5 blue:0 alpha:.5];

在下图中,从 sizeWithFont 返回的大小由半透明的蓝色矩形覆盖层呈现。如您所见,使用斜体字体(在本例中为 Verdana-BoldItalic),字符会超出 sizeWithFont 返回的范围。此外,UILabel 的框架(橙色)也会裁剪角色。想法?也许我可以覆盖一些文本绘图程序。另外,不确定这是否与此处的问题相同:

UIButton.titleLabel 剪切文本问题

4

2 回答 2

0

使用属性文本+缩进...

于 2014-02-26T04:20:51.790 回答
-3

看起来这是一个苹果的问题。最终使用 CoreText 进行自定义绘图。

于 2011-03-11T15:28:22.310 回答