我需要在视图中间绘制文本,文本可以是1个字母或几个单词。
我正在- (void)drawRect:(CGRect)rect
方法中绘制文本。
我想要的是文本将水平和垂直居中(我知道如何做到这一点)。 但是我想根据文字长度更新字体大小,所以:
像“S”这样的字符串将以90磅的字体大小绘制,但“hello world”将以30磅的字体大小绘制。
任何想法?
答案 0 :(得分:1)
UILabel可用于垂直和水平居中。使用adjustsFontSizeToFitWidth
它还可以缩小文本以适应标签的宽度。
label.adjustsFontSizeToFitWidth = YES;
label.minimumFontSize = 10.0; // or whatever...
如果您需要更多控制尺寸,我认为您必须自己定位。您可以使用NSString上的sizeWithFont:
和sizeWithFont:forWidth:lineBreakMode:
消息来获取具有特定字体的字符串大小 - 然后确定要使用的大小和绘制位置。请参阅the documentation。