首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何添加位于其他视图下面的阴影

如何添加位于其他视图下面的阴影
EN

Stack Overflow用户
提问于 2018-01-19 05:02:35
回答 2查看 274关注 0票数 0

我有一个标题视图、一个标题阴影视图和一个表视图。标题视图有一个清晰的背景。标题阴影视图有浅蓝色背景颜色,只有1px高度。表视图没有被裁剪到边界。

因此,这里的效果是当您向上滚动时,表视图内容将通过透明的标头视图。

这里的问题是,带阴影的视图位于表视图内容的上方,所以当您向上滚动时,会有一条带阴影的细蓝色线。如果您检查梅西百货上的星星,您将看到与内容重叠的蓝色细线。

EN

回答 2

Stack Overflow用户

发布于 2018-01-19 05:22:25

如果是tableView单元格,则添加一个视图作为应用阴影的背景视图,并为该视图设置阴影。

试试下面的代码:

代码语言:javascript
运行
复制
func setShadow(view:UIView){
    view.layer.masksToBounds = false
    view.layer.shadowOffset = CGSize(width: 0, height: 0)
    view.layer.cornerRadius = 5 // set cornerRadius you want
    view.layer.shadowRadius = 4.0 // set shadow Radius you want
    view.layer.shadowOpacity = 0.5 // set shadow opacity you want
}

设置阴影

代码语言:javascript
运行
复制
setShadow(view:yourView)
票数 1
EN

Stack Overflow用户

发布于 2018-01-19 05:23:23

1.首先,您可以在tableview单元格中使用UIView

2.然后在我提到的下面创建一个CardsView类

3.将UIView类名命名为Cardsview之后

//请粘贴到您的项目中..。

导入UIKit

@IBDesignable

类CardsView: UIView {

代码语言:javascript
运行
复制
@IBInspectable var cornerRadius: CGFloat = 10   //replece 2
@IBInspectable var shadowOffsetWidth: Int = 0
@IBInspectable var shadowOffsetHeight: Int = 3
@IBInspectable var shadowColor: UIColor? = UIColor.black
@IBInspectable var shadowOpacity: Float = 0.5

override func layoutSubviews() {

    layer.cornerRadius = cornerRadius
    let shadowPath = UIBezierPath(roundedRect: bounds, cornerRadius: cornerRadius)
    layer.masksToBounds = false
    layer.shadowColor = shadowColor?.cgColor
    layer.shadowOffset = CGSize(width: shadowOffsetWidth, height: shadowOffsetHeight);
    layer.shadowOpacity = shadowOpacity
 layer.shadowPath = shadowPath.cgPath
}

}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48334388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档