2012-03-20 6 views
0

Я хочу изменить высоту uilabel согласно содержанию и отобразить его в ячейке uitableview, есть пользовательская ячейка и ячейка расширяются в соответствии с высотой uilabel Когда кнопка нажата, а затем высота ячейки расширяется в соответствии с высотой uilabelКак увеличить длину uilabel согласно контенту?

Спасибо заранее :-)

ответ

3

// Рассчитать размер на основе шрифта и LineBreak режиме наклейки

CGSize maxLabelSize = CGSizeMake(300,9999); 

CGSize expectedLabelSize = [myString sizeWithFont:myLabel.font 
         constrainedToSize:maxLabelSize 
         lineBreakMode:myLabel.lineBreakMode]; 

//adjust the label the the new height. 
CGRect newFrame = myLabel.frame; 
newFrame.size.height = expectedLabelSize.height; 
myLabel.frame = newFrame; 
+0

Спасибо это поможет мне – Birju

+0

Пожалуйста, добавьте это как ответ. – nithin

0

Попробуйте

[label sizeToFit]; 

Обратите внимание, что маркировать увеличит его высота держать его ширина одинаковы.

0
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
NSString *text = displayText; 

//CGSize constraint = CGSizeMake(CELL_CONTENT_WIDTH - (CELL_CONTENT_MARGIN * 2), 20000.0f); 
CGSize constraint = CGSizeMake(tableView.frame.size.width - 30, 20000.0f); 

CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:15.0f] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap]; 

CGFloat height = MAX(size.height, 44.0f); 

return height + 30; 

} 
0

Вычислить размер текста метки & чем набор координат, как

CGSize labelWidth=[_label.text sizeWithFont:[UIFont fontWithName:@"Verdana" size:12] constrainedToSize:CGSizeMake(200, 15) lineBreakMode:UILineBreakModeTailTruncation]; 
Смежные вопросы