使用此方法,並
-(float) calculateHeightOfTextFromWidth:(NSString*) text: (UIFont*)withFont: (float)width :(UILineBreakMode)lineBreakMode
{
[text retain];
[withFont retain];
CGSize suggestedSize = [text sizeWithFont:withFont constrainedToSize:CGSizeMake(width, FLT_MAX) lineBreakMode:lineBreakMode];
[text release];
[withFont release];
return suggestedSize.height;
}
,並使用它像波紋管......我用這個UILable
看到代碼..
UILabel *lblAddress = [[UILabel alloc]init];
[lblAddress setFrame:CGRectMake(110, 31, 200, 31)];
lblAddress.text = @"ABDKFNKG KKGK jfnjgdf gdklfg fldgmfkgml f";
lblAddress.lineBreakMode = UILineBreakModeWordWrap;
lblAddress.numberOfLines = 0;///write this line for multiple line and set 0 or anything lese
lblAddress.font = [UIFont fontWithName:@"Helvetica" size:12];
lblAddress.frame = CGRectMake(lblAddress.frame.origin.x, lblAddress.frame.origin.y,
200,[self calculateHeightOfTextFromWidth:lblAddress.text :lblAddress.font :200 :UILineBreakModeWordWrap]);
lblAddress.textColor = [UIColor darkGrayColor];
[self.view addSubview:lblAddress];
[@ 「MYTEXT」 sizeWithFont:[UIFont fontWithName:@ 「黑體」 大小:12] constrainedToSize:CGSizeMake(300,CGFLOAT_MAX)lineBreakMode:NSLineBreakByWordWrapping]; – Sandeep
「不改變」是什麼意思? – sunkehappy
抱歉應該更清楚了。我的意思是它在18像素高,但從來沒有變大,只有一條線。 –