【问题标题】:Putting box shadow on UITableView cells not showing [Swift 3]在未显示的 UITableView 单元格上放置框阴影 [Swift 3]
【发布时间】:2017-09-23 10:50:27
【问题描述】:

我正在尝试在我的 iOS 应用中的表格视图上放置一个盒子阴影。我为此尝试了不同的技术,但还没有设法解决它。我尝试先在单元格本身的图层上添加阴影:

cell.layer.shadowColor = UIColor.black.cgColor
cell.layer.shadowOpacity = 1
cell.layer.shadowOffset = CGSize.zero
cell.layer.shadowRadius = 2

这不起作用,所以我尝试在内容视图上放置框阴影:

cell.contentview.layer.shadowColor = UIColor.black.cgColor
cell.contentview.layer.shadowOpacity = 1
cell.contentview.layer.shadowOffset = CGSize.zero
cell.contentview.layer.shadowRadius = 2

我还尝试在表格视图单元格中添加一个具有相同约束的额外视图,并将框阴影放在该视图上,但这并没有改变结果。 result with extra view and constraints and cornenradius

表格视图中的一些特别之处如下:

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
    if section != 0 {
        return 10
    } else {
        return 0
    }
}

func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
    let header = view as! UITableViewHeaderFooterView
    header.tintColor = UIColor.init(netHex: 0xF9FAFD)
}

表格视图数据都放在单独的部分中,每部分1行。

【问题讨论】:

标签: ios iphone swift xcode uitableview


【解决方案1】:

根据我的说法,您应该执行以下操作:

1) 将所有 UITableviewCell 视图包装在一个 containerView 中。

2) 为父 containerView 提供每边 10px 的边距。

3)然后申请

cell.containerView.layer.shadowColor = UIColor.black.cgColor
cell.containerView.layer.shadowOpacity = 1
cell.containerView.layer.shadowOffset = //any offset
cell.containerView.layer.shadowRadius = 2

注意:栅格化单元格图层内容以避免总是重绘它

cell.layer.shouldRasterize = true

【讨论】:

  • 如何将边距添加到容器视图?我现在有这个代码: cell.backView.layer.shadowColor = UIColor.black.cgColor cell.backView.layer.shadowOpacity = 1.0 cell.backView.layer.shadowOffset = CGSize.zero cell.backView.layer.shadowRadius = 2.0 cell.backView.layer.cornerRadius = 15 结果如下:!Result.
  • 使用自动布局,如前导、跟踪、顶部和底部约束。到 10
  • 这是我尝试这个的结果:result with margin 和 result in simulator
  • 其实你需要清除所有的约束,然后重新申请。
  • 这没有我想要的结果,我希望边框阴影位于单元格本身的外部边框上,现在它在单元格内部放置阴影。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多