我可以根據文本調整自定義標籤的寬度和高度UITablleViewCell
。它看起來像下面。根據UITableViewCell調整背景圖像的大小標籤的高度和寬度
現在我想設置低於聊天氣泡圖像標籤作爲背景,使泡沫調整基於標籤文本的大小,並給出類似於其他使者的泡沫效應。
下面是我對圖像設置爲標籤的後臺代碼。
-(CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewAutomaticDimension;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewAutomaticDimension;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"ChatConversationTableViewCell";
ChatConversationTableViewCell *cell = (ChatConversationTableViewCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ChatConversationTableViewCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.chatmsgLabel.text = [chatHistoryArr objectAtIndex:indexPath.row];
cell.timeAndDateMsgLabel.text = [timeAndDateMsgArr objectAtIndex:indexPath.row];
UIImage *img = [UIImage imageNamed:@"bubble2.png"];
CGSize imgSize = cell.timeAndDateMsgLabel.frame.size;
UIGraphicsBeginImageContext(imgSize);
[img drawInRect:CGRectMake(0,0,imgSize.width,imgSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
cell.timeAndDateMsgLabel.backgroundColor = [UIColor colorWithPatternImage:newImage];
return cell;
}
輸出類似於
我的預期輸出是
欲瞭解更多信息下面是我的CustomTableViewCell和它的約束
我嘗試了很多實現了輸出,但我無法弄清楚。是否有任何其他方法來實現輸出,我準備好遵循任何適合我的要求的方法。任何幫助將非常感激。
看到這個鏈接它可能會幫助你:http://stackoverflow.com/questions/31823130/how-to-let-a-uiimage-only-stretch-in-a-specific-area –
你可以查看這個項目作爲參考:https://github.com/jessesquires/JSQMessagesViewController。可能對你有幫助。該控件以良好的方式拉伸圖像。 – Aashish1aug
你需要設置相同的顏色背景來標籤,而不是圖像。並且給予該標籤更嚴格的等同限制。 – KKRocks