2015-03-20 2 views
0

У меня есть UIImageView, который имеет UITextView в пределах его границ, и я хочу изменить размер UIImageView на основе текста внутри UITextView. Как мне это сделать?Как изменить размер UIImageVIew на основе содержимого внутри UITextView

Вот что я пробовал:

- (void)textViewDidChange:(MSChatCell *)cell andText:(NSString *)text isBlue:(BOOL)blue 
{ 
    NSLog(@"changing height"); 
    UITextView *textView; 
    PFImageView *chat; 

    if(blue){ 
    CGRect newFrame = [text boundingRectWithSize:cell.blueText.bounds.size options: NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"Arial" size:10.0],NSFontAttributeName, nil] context:nil]; 
    cell.blueText.frame = newFrame; 
     cell.blueChat.frame = newFrame; 

    }else{ 
     CGRect newFrame = [text boundingRectWithSize:cell.whiteText.bounds.size options: NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"Arial" size:10.0],NSFontAttributeName, nil] context:nil]; 

     cell.whiteText.frame = newFrame; 
     cell.whiteChat.frame = newFrame; 
    } 

} 

где cell.whiteChat и cell.blueChat являются UIImageViews и cell.whiteText и cell.blueText являются UITextViews

ответ

0

Ну, расчет размера занятую текста, а затем создать рамку, используя его работал на меня ..

CGRect blueTextFrame = cell.blueText.frame; 

CGRect blueChatFrame = cell.blueChat.frame; 

CGSize textSize = [sample sizeWithFont:[UIFont fontWithName:@"Arial" size:10.0]]; 

cell.blueTextFrame.size = textSize; 

cell.blueChatFrame.size = textSize; 

Аналогичным образом сделайте это для белого ...

+0

не CGFrame не рекомендуется? – shreyashirday

+0

oh sorry .. Я имел в виду CGRect – Gokul

Смежные вопросы