簡體   English   中英

可擴展的聊天泡泡UITableViewCell iOS

[英]Expandable Chat bubble UITableViewCell iOS

我目前有一個具有消息傳遞功能的應用程序。 它允許用戶互相聊天。 目前,消息從下往上顯示(我能夠通過旋轉表格和單元格來完成此操作)。 現在要區分發送者和接收者我使用不同的彩色文本。

我想使用氣泡圖像作為消息的背景,以便應用程序看起來更像iMessage。 我知道有一點可以調整圖像大小,但我無法理解這一點。 我需要一種特殊的形象嗎? 如果是這樣,我如何調整該圖像的大小以使其適合文本然后將其作為背景?

在此先感謝您的幫助。

-EDIT-代碼我用來生成帶有氣泡的單元格:

[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個UIViews創建了一個像泡泡一樣的同上iMessage。 它在代碼和XIB(UITableViewCell)中都可用。 它是高度可定制的。 您可以更改顏色,字體,字體大小,尾巴或無尾部等。請在此處查看

https://github.com/kerrygrover/iMessageBubble

在此輸入圖像描述

有幾種方法可以實現這樣的功能。 可能最簡單的解決方案是使用
-resizableImageWithCapInsets: UIImage方法。 您可以為每條聊天消息創建一個tableview單元格,並在背景上繪制此圖像並使圖像在頂點插入點處伸展。

在tableView委托方法中-tableView:heightForRowAtIndexPath:你可以使用NSString方法設置單元格的高度
-sizeWithFont:constrainedToSize:lineBreakMode:計算單元格內容的正確高度(實際的聊天消息)。

UIImageView添加到您用於顯示文本的任何對象。 然后將其image屬性設置為您想要的任何圖像; UIImageView將為您自動化它。

UIImageView類參考

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM