【问题标题】:Adding shadow to UIView on top of UITableView在 UITableView 之上向 UIView 添加阴影
【发布时间】:2018-11-06 02:42:47
【问题描述】:

我有一个 VC,它在整个屏幕上都有一个 UITableView,除了顶部的前 66 像素。在那里,我有一个自定义的UIView 我称之为“工具栏”,其中包含一个标题和一个按钮。

看起来像这样:

我正在尝试向“工具栏”添加一个阴影,该阴影将在UITableView 的顶部可见。我是这样添加的:

由于某种原因,我在运行应用程序时看不到任何阴影。

我做错了什么?有人知道吗?

谢谢!

【问题讨论】:

  • 你在设置 cliptobounds 吗?
  • @kthorat clipToBounds 设置为 false

标签: ios iphone swift uitableview cocoa-touch


【解决方案1】:

阴影需要一些空间来显示,你必须在你的顶视图(工具栏)和表格视图之间添加一些垂直空间。

获得如下结果:

你需要添加一些空间:

我还使用以下代码添加阴影:

toolbar.layer.shadowColor = UIColor.black.cgColor
toolbar.layer.shadowOpacity = 1
toolbar.layer.shadowOffset = CGSize.zero
toolbar.layer.shadowRadius = 10
toolbar.layer.masksToBounds = false

【讨论】:

  • 为什么tableView本身不能显示阴影?
  • 因为阴影本身是有高度的,所以需要一个空的空间。
  • 那么当 tableView 被对齐到工具栏时,如何从 tableView 顶部的工具栏实现阴影?我已经在其他应用中看到了这一点
  • 最后会以添加到tableview之上的方式显示,试试看吧。
  • 你能解释一下我应该怎么做吗?只是为了更新tableView的top约束的常量,比如10?
猜你喜欢
  • 2012-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-21
  • 2015-10-23
相关资源
最近更新 更多