3

現在、メッセージング機能を備えたアプリケーションを使用しています。これにより、ユーザーは互いにチャットできます。現在、メッセージは下から上に表示されます (テーブルとセルを回転させることでこれを実現できました)。現在、送信者と受信者を区別するために、異なる色のテキストを使用しています。

代わりにメッセージの背景としてバブル画像を使用して、アプリが iMessage のように見えるようにしたいと考えています。画像のサイズを変更する方法があることは知っていますが、これについて頭を悩ませることはできません。特別な種類の画像が必要ですか? もしそうなら、テキストに合うようにその画像のサイズを変更し、背景として配置するにはどうすればよいですか?

よろしくお願いします。

-編集-バブルでセルを生成するために使用しているコード:

[self.textLabel setFont:[UIFont fontWithName:@"Helvetica" size:20]];
[self.textLabel setNumberOfLines:0];
CGSize size = [message.message sizeWithFont:self.textLabel.font];

    [self.textLabel setFrame:CGRectMake(690.0f - (size.width + 5.0f), 8.0f, size.width + 5.0f, size.height)];
    UIImage *bubble = [[UIImage imageNamed:@"aqua.png"] stretchableImageWithLeftCapWidth:24 topCapHeight:15];
    UIImageView *bubbleView = [[UIImageView alloc] initWithFrame:CGRectMake(704 - (size.width + 25.0f), 2.0f, size.width + 25.0f, size.height + 15.0f)];
    bubbleView.image = bubble;
    self.backgroundColor = [UIColor clearColor];
    self.opaque = NO;
    self.backgroundView = bubbleView;
4

3 に答える 3

10

4つのUIViewを使用して、バブルのようなiMessageを作成しました。コードと XIB (UITableViewCell) の両方で利用できます。高度にカスタマイズ可能です。色、フォント、フォントサイズ、テールまたはテールなしなどを変更できます。ここで確認してください

https://github.com/kerrygrover/iMessageBubble

ここに画像の説明を入力

于 2015-10-02T18:14:14.790 に答える
3

このような機能を実装するには、いくつかの方法があります。おそらく最も簡単な解決策は、 の
-resizableImageWithCapInsets:方法を使用することですUIImage。チャット メッセージごとにテーブルビュー セルを作成し、背景にこの画像を描画して、キャップ インセット ポイントで画像を引き伸ばすことができます。

tableView デリゲート メソッドでは、セルのコンテンツ (実際のチャット メッセージ) の適切な高さを計算するメソッドを-tableView:heightForRowAtIndexPath:使用して、セルの高さを設定できます。NSString
-sizeWithFont:constrainedToSize:lineBreakMode:

于 2012-08-02T14:58:13.107 に答える
-2

UIImageViewテキストを表示するために使用しているオブジェクトに a を追加します。次に、そのimageプロパティを必要な画像に設定するだけです。UIImageView自動サイズ変更します。

UIImageView クラス リファレンス

于 2012-08-02T14:28:45.807 に答える