首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在swift中将阴影仅添加到UIVIEW顶部和底部

如何在swift中将阴影仅添加到UIVIEW顶部和底部
EN

Stack Overflow用户
提问于 2021-05-04 14:41:10
回答 2查看 167关注 0票数 0

我是swift的新手,我正在尝试给UIView添加阴影。我的代码是这样的

代码语言:javascript
运行
复制
ViewPay.layer.masksToBounds = false
ViewPay.layer.shadowRadius = 2
ViewPay.layer.shadowOpacity = 1
ViewPay.layer.shadowColor = UIColor.red.cgColor
ViewPay.layer.shadowOffset = CGSize(width: 0 , height:2) 

但它给每一面都增加了阴影

怎么才能像这样添加阴影呢

EN

Stack Overflow用户

发布于 2021-05-06 01:42:48

我希望对你的问题的解决有所帮助。如果你想要一些简单易懂的东西,并遵循提示。您将创建一个大型容器并添加所需的视图。一个是紫色的垂直视图,另一个是灰色的水平视图,中间放置了一个图像,就像我在代码中所做的那样:

代码语言:javascript
运行
复制
import UIKit

class ViewController: UIViewController {
  
    
     override func viewDidLoad() {
        super.viewDidLoad()
         
        //Big container
        let container = UIView(frame: CGRect(x: self.view.bounds.width * 0.25, y: self.view.bounds.height * 0.5, width: 250, height: 290))
        container.backgroundColor = .clear
        self.view.addSubview(container)
        
        //Purple view
        let viewContainer = UIView(frame: CGRect(x: container.bounds.midX , y: 0, width: container.bounds.width * 0.89, height: container.bounds.height))

        viewContainer.layer.anchorPoint.x = 1.0

        viewContainer.backgroundColor = UIColor(displayP3Red: 158/255, green: 131/255, blue: 178/255, alpha: 1.0)
        viewContainer.layer.cornerRadius = 8
        viewContainer.clipsToBounds = true

        container.addSubview(viewContainer)

        //Gray view
        let viewContainer2 = UIView(frame: CGRect(x: container.bounds.midX , y: container.bounds.midY, width: container.bounds.width * 0.93, height: container.bounds.height * 0.86))

        viewContainer2.layer.anchorPoint.y = 1.0
        viewContainer2.layer.anchorPoint.x = 1.0


        viewContainer2.backgroundColor = UIColor(white: 0.5, alpha: 0.3)
        viewContainer2.layer.cornerRadius = 5
        viewContainer2.clipsToBounds = true

        container.addSubview(viewContainer2)
        
        //image
        let imageView = UIImageView(frame: CGRect(x: container.bounds.midX, y: container.bounds.midY, width: container.bounds.width * 0.90, height: container.bounds.height * 0.90))
        imageView.contentMode = .scaleToFill
        imageView.layer.anchorPoint = CGPoint(x: 1.0, y: 1.0)
        imageView.layer.cornerRadius = 10
        imageView.clipsToBounds = true
        imageView.image = UIImage(named: "image name")
        container.addSubview(imageView)

     }
}

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

https://stackoverflow.com/questions/67379918

复制
相关文章

相似问题

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