레이블을 설정했으며 레이블에 일부 텍스트가 있습니다. 이제 모든 텍스트가 레이블에 들어 맞는 글꼴을 설정하려고합니다. 레이블 텍스트가 매일 바뀌기 때문에 최소한의 글꼴 크기로 사용했습니다. 그러나 suddendly 그것은 일하지 않을 것이다. 내가 뭔가 잘못하고있는거야? 여기최소 글꼴 크기 문제
내 코드 :
CGRect infoLabelRect = CGRectMake(10, 250, 260, 350);
UILabel *infoLabel = [[UILabel alloc] initWithFrame:infoLabelRect];
infoLabel.text = @"bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla";
infoLabel.numberOfLines = 9;
infoLabel.font = [UIFont systemFontOfSize:17];
infoLabel.minimumFontSize = 12;
infoLabel.adjustsFontSizeToFitWidth = YES;
infoLabel.textColor = [UIColor whiteColor];
infoLabel.textAlignment = NSTextAlignmentCenter;
infoLabel.backgroundColor = [UIColor clearColor];
infoLabel.shadowColor = [UIColor blackColor];
infoLabel.shadowOffset = CGSizeMake(0, 1);
[infoLabel sizeToFit];
내가 표시 텍스트가 없다 슬픈 rmaddy 무엇을하지만 시도했다.
여기 내 코드는 작동하지 않습니다. 제안 사항이 있으십니까?
UILabel *infoLabel = [[UILabel alloc] initWithFrame:infoLabelRect];
NSString *text = @"bla bla bla";
UIFont *font = nil;
CGFloat points = 17;
CGFloat maxHeight = infoLabel.frame.size.height;
CGFloat textHeight;
do {
font = [UIFont systemFontOfSize:points];
CGSize size = CGSizeMake(infoLabelRect.size.width, 100000);
CGSize textSize = [text sizeWithFont:font constrainedToSize:size lineBreakMode: NSLineBreakByWordWrapping];
textHeight = textSize.height;
points -= 1;
} while (textHeight > maxHeight);
infoLabel.font = font;
infoLabel.textColor = [UIColor whiteColor];
infoLabel.textAlignment = NSTextAlignmentCenter;
infoLabel.backgroundColor = [UIColor clearColor];
infoLabel.shadowColor = [UIColor blackColor];
infoLabel.shadowOffset = CGSizeMake(0, 1);
[infoLabel sizeToFit];
[contentView addSubview:infoLabel];
의미? 항상 fontSize 17입니까? 또는 텍스트를 자르는 것입니까? –
항상 글꼴 크기가 17 – MasterRazer