2017-01-06 13 views
6

チャットアプリを作成しています。他のchatappsのようなテキストに従って、bubbleイメージを伸ばしなければなりません。私はAutoLayout制約を使用しています。バブルアップを完全に含むイメージビューのサイズ。 (私はそれに背の低い色を与えた)。バブル画像が伸びていません。チャットアプリでバブル画像を伸ばす

enter image description here

私はこれらの制約を追加しました:画像の延伸

enter image description here

私はこの追加しました:誰もがこのことについての考えを持っている場合は、ご返信ください

let myImage = self.imageNamed("Bubble_Me") 
     let new_Image = myImage.stretchableImage(withLeftCapWidth: 15, topCapHeight: 14) 
     cell.bubbleImage.image = new_Image 

を。 ありがとうございます。

+0

あなたはAssets.xcassetsで画像をスライスしたのですか? – rv7284

+0

はい、同じイメージスライシングは、すべてがプログラム的に実装されている他のコードでも機能します。私はオートレイアウトで同じことをしたい。自動レイアウトでは機能しません。 – SNarula

+0

niniのパッチイメージを使用してくださいhttps://github.com/shiami/SWNinePatchImageFactory –

答えて

0

まず、これを使用してテキストのサイズを取得します。

UIFont *font = [UIFont systemFontOfSize:14.0]; 
    NSDictionary *attrsDictionary = [NSDictionary dictionaryWithObject:font 
                   forKey:NSFontAttributeName]; 
    NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:message attributes:attrsDictionary]; 

    CGRect paragraphRect = 
    [attrString boundingRectWithSize:CGSizeMake(tableView.frame.size.width - 20 , CGFLOAT_MAX) 
           options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading) 
           context:nil]; 

あなたのテキストのフレームを取得した後、テキストのフレームからの高さを取得し、バブルのImageViewのに高さを置きます。あなたは何をすべき-(void)layoutSubviews method.

0

にtableViewCellカスタムクラスに行って、このすべてのものは

text.backgroundColor = UIColor(patternImage: UIImage(named:"bg.png")!) 

あなたが常に使用する必要があり、それはできるだけ多くのTextViewを伸ばすようのTextViewの背景に画像を設定することですこのタイプの問題では、9-パッチ画像としてよく知られている「サイズ変更可能ビットマップ」があります。

0

はこれを試してみてください

cell.bubbleImage.image = [[UIImage imageNamed:@"Bubble_Me"] resizableImageWithCapInsets:UIEdgeInsetsMake(20, 20, 20, 20) resizingMode:UIImageResizingModeStretch]; 
0

この@SNarulaをお試しください:

cell.bubbleImage.image = [[UIImage imageNamed:@"sender.png"] stretchableImageWithLeftCapWidth:2 topCapHeight:2]; 
関連する問題