swift - 如何在不使用 UIView 的情况下快速向标签添加阴影和圆角?

标签 swift

我想给我的标签添加圆角,也想给标签添加阴影,但是我的阴影方法和圆角半径方法不能在标签上一起使用。

这是我用来制作标签的代码

extension UILabel
{
    func ShadowLabel()  {

        self.layer.shadowColor = UIColor.lightGray.cgColor
        self.layer.shadowRadius = 2
        self.layer.shadowOpacity = 1
        self.layer.shadowOffset = CGSize(width: 5, height: 5)

    }
}
extension UILabel
{
    func RoundCornerLabel() {
        self.layer.cornerRadius = frame.size.height/2
        self.layer.masksToBounds = true
    }
}

override func viewDidLoad() {
        super.viewDidLoad()
        label.shadowLabel()
        label.RoundCornerLabel()
}

最佳答案

你想做的事是不可能的。阴影应用于 UIView 的边界之外,但是 cornerRadius不屏蔽 bounds 将不可见的 UIView .所以,你将不得不使用一个容器 UIView .

如果您想以通用方式编写此代码,请编写 UIView返回 UIView 的扩展包含您要为其应用阴影的 View

关于swift - 如何在不使用 UIView 的情况下快速向标签添加阴影和圆角?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55847065/

相关文章:

ios - 快速从 API 调用传递 json 数组的所有成员

swift - 是否可以将 SKSpriteNode 添加到另一个类的场景中?

ios - xcode swift UICollectionView 布局 - 单元格大小调整

swift - 检查字符串中的字符在字典中是否匹配

ios - 使用 AVAssetWriter 录制视频 : first frames are black

ios - 如何在 iOS 客户端中传递 AWS AppSync 自定义请求 header ?

ios - 将 AVAudioPlayer 声音保留在内存中

xcode - 如何将 GIDSignInButton 类与 Google 身份验证结合使用?

swift - 如何将 View (不是 UIView)转换为图像?

swift - 将 Sprite 宽度缩放到屏幕宽度的问题