繁体   English   中英

如何根据UITextView内部的内容调整UIImageVIew的大小

[英]How to resize UIImageVIew based on content inside UITextView

我有一个UIImageView,它的范围内有一个UITextView,我想根据UITextView中的文本调整UIImageView的大小。 我该怎么做呢?

这是我尝试过的:

- (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.whiteChatcell.blueChat是UIImageViews, cell.whiteTextcell.blueText是UITextViews

好吧,计算您的文本占用的大小,然后使用它创建一个框架对我来说很有效。

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;

同样地,白色也可以。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM