[英]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.