无法将具有圆角半径的阴影添加到动态UITableView

时间:2020-11-02 13:44:03

标签: ios swift uitableview

当我尝试将具有动态内容的圆角和阴影应用于UITableView时,我面临一个奇怪的问题,该内容随数据(单元格数)的变化而变化。 这是jerky effect on scrolling的屏幕录像。

我的动机是向动态表格视图添加阴影和拐角半径。

当我添加拐角半径时,它可以正常工作,但是当我尝试添加阴影时,它不会显示。因此,我找到了一个解决方案here,说我们需要设置

self.tableView.clipsToBounds = false
self.tableView.layer.masksToBounds = false

但是,设置后,我得到了上述的抖动效果,并且拐角半径不再可见。

我尝试了其他(建议的)解决方案,例如在运行时针对Tableview框架添加自定义视图,但这会创建一个静态的高度视图,因此禁用了该区域与超级视图的交互性。

这是我的代码:

searchResultTblView.layer.cornerRadius = 10
searchResultTblView.layer.maskedCorners = [.layerMinXMaxYCorner , .layerMaxXMaxYCorner]
searchResultTblView.keyboardDismissMode = .onDrag
searchResultTblView.layer.shadowColor = UIColor.gray.cgColor
searchResultTblView.layer.shadowOpacity = 0.6
searchResultTblView.layer.shadowRadius = 5
searchResultTblView.tableFooterView = UIView.init(frame: CGRect.zero)
searchResultTblView.separatorInset = .zero
searchResultTblView.clipsToBounds = false
searchResultTblView.layer.masksToBounds = false

我知道在表格视图上设置阴影和拐角半径可能是更好的方法。但是,我目前无法实现。

0 个答案:

没有答案