gpt4 book ai didi

iphone - IOS tableview : stretched image not display until scroll done

转载 作者:行者123 更新时间:2023-12-01 19:08:00 26 4
gpt4 key购买 nike

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

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

Storyboard中的气泡 View 布局, UIImageView 是拉伸(stretch)图像:

enter image description here

滚动前:
enter image description here

滚动后:
enter image description here

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

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

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

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

每次更新时调用拉伸(stretch)函数:
- (void)viewDidAppear:(BOOL)animated{
[chatTable reloadData];

}

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

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

最佳答案

你要做的是把你的图像拉伸(stretch)功能放在

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

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

关于iphone - IOS tableview : stretched image not display until scroll done,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18590675/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com