OStack程序员社区-中国程序员成长平台

标题: ios - 滚动后出现自定义 UITableViewCell 阴影 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 16:58
标题: ios - 滚动后出现自定义 UITableViewCell 阴影

我正在使用表格 View Controller 中的自定义表格 View 单元格在 iOS6 中制作应用程序。该单元是使用 Storyboard 中的原型(prototype)单元设计的。

在表格 View Controller 中,我正在做三件事:

  1. 在 tableView:willDisplayCell:forRowAtIndexPath: 中为单元格添加一个简单的自定义动画:
  2. 给tableView中的单元格添加圆角效果:cellForRowAtIndexPath:
  3. 给tableView的单元格添加阴影效果:cellForRowAtIndexPath:

问题是,当表格 View 被加载时,最初出现的 3 个单元格正确呈现动画和圆角,但 没有阴影效果。但是,当我向下滚动时,出现的新单元格也有动画 + 圆角 + 阴影。

而且,现在当我向上滚动时,最初的 3 个单元格也有阴影效果。

几个小时的调试让我更加一无所知。有什么建议吗?



Best Answer-推荐答案


我解决了问题。 [cell layoutSubviews] 做我需要的一切:

if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
    cell.imageView.layer.masksToBounds = NO;
    cell.imageView.layer.cornerRadius = 5.0f;
    [cell layoutSubviews];
}

cell.imageView.layer.shadowOpacity = 0.5f;
cell.imageView.layer.shadowPath = [UIBezierPath bezierPathWithRoundedRect:cell.imageView.bounds cornerRadius:5.0f].CGPath;
cell.imageView.layer.shadowOffset = CGSizeMake(2.5f, 2.5f);
cell.imageView.layer.shadowRadius = 2.5f;

关于ios - 滚动后出现自定义 UITableViewCell 阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20313200/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4