1

我想在我的项目中创建一个聊天气泡视图。我将图像拉伸为气泡。但是问题发生了,如果我将单元格滚动为不可见,则在单元格回到原始位置后,可以拉伸图像,这是显示拉伸图像的唯一方法。

以下图片是有关问题的简要说明。

故事板中的气泡视图布局, UIImageView 是拉伸图像:

在此处输入图像描述

滚动前: 在此处输入图像描述

滚动后: 在此处输入图像描述

初始显示气泡视图时(其原始显示方法:导航栏项Segue),并在viewWillAppear()中调用拉伸函数,显示正常拉伸。

以下是关键代码: 单元格中的初始气泡拉伸:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:
(NSIndexPath *)indexPath {
   NSString *cellID = @"chatCell";
    UIBubbleTableViewCell *cell = (UIBubbleTableViewCell*)[tableView dequeueReusableCellWithIdentifier:cellID];
   //CAll stretch function
   cell.dataInternal = dataInternal;
}

拉伸功能:

bubbleImage.image = [[UIImage imageNamed:@"chat2.png"] stretchableImageWithLeftCapWidth:21 topCapHeight:14];
bubbleImage.frame = CGRectMake(40, 10, 267, 105);

每次更新时调用拉伸函数:

- (void)viewDidAppear:(BOOL)animated{
[chatTable reloadData];

}

无论如何,只有滚动结束,图像才能被拉伸显示。我调试了项目,并记录了拉伸数据,一切都很好。

我该如何解决这个问题,感谢您的任何建议。

4

1 回答 1

3

你要做的就是把你的图像拉伸功能放在

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath

委托方法。只有此时您才会知道要显示的表格单元格的实际大小。然后,您可以将气泡图像拉伸到您心中的内容。

于 2013-09-03T11:20:36.470 回答