簡體   English   中英

UIImageView中的UILabel文本被切斷

[英]UILabel in UIImageView text being cut off

我將UILabel放在自定義UIImageView ,並且文本被截斷:

截圖

碼:

//self.frame.size.width and height are the same value, self is a square
self.displayNameLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, (self.frame.size.width - 12), (self.frame.size.height - 12))];
self.displayNameLabel.center = CGPointMake((self.frame.size.width / 2), (self.frame.size.height / 2));
self.displayNameLabel.backgroundColor = [UIColor whiteColor];
self.displayNameLabel.textAlignment = UITextAlignmentCenter;
self.displayNameLabel.font = [UIFont fontWithName:labelFont size:40];
self.displayNameLabel.adjustsFontSizeToFitWidth = YES;

我將字體設置為大號,然后使用adjustsFontSizeToFitWidth來確保其盡可能大。 它指出:

但是,如果將此屬性設置為YES,並且text屬性中的文本超出標簽的邊界矩形,則接收方將開始減小字體大小,直到字符串適合為止

如果我將label.frame設置為:

self.displayNameLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, (self.frame.size.width - 0), (self.frame.size.height - 0))];

然后按預期工作。

如何將框架設置為:

self.frame.size.width
self.frame.size.height 

代替:

self.frame.size.width - 14 
self.frame.size.height - 14

工作?

為什么它被夾在頂部?

您可能需要相應地設置標簽的autoresizingMask屬性,以便在調整圖像大小時,可以正確調整標簽的框架。 或者,在將圖像添加到任何視圖之后,應在標簽上調用setNeedsDisplay

屬性adjustsFontSizeToFitWidth將僅使標簽調整字體大小,直到字符串的寬度適合框架。 如果標簽的高度不足以容納最終的字體大小,它將被裁剪。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM