swift - 带有边框和背景问题的 UILabel

标签 swift xcode uilabel

这是我的 UILabel 代码

descriptionText.layer.cornerRadius     = 8
descriptionText.layer.borderColor      = UIColor.lightGray.cgColor
descriptionText.layer.borderWidth      = 2
descriptionText.text                   = ""
descriptionText.layer.shadowOffset     = CGSize(width: -10, height: -10)
descriptionText.layer.shadowRadius     = -5.0
descriptionText.backgroundColor        = .white
descriptionText.textColor              = .black
descriptionText.numberOfLines          = 0
descriptionText.lineBreakMode          = .byWordWrapping

然而这就是它的样子enter image description here

为什么角不透明或如何使边界外的部分透明

提前致谢

最佳答案

您需要通过将标签上的 .clipsToBounds 设置为 true 来隐藏 cornerRadius 之外的所有内容。问题是如果你这样做你会失去阴影,因为这也在边界之外。试试这个:

将标签放在容器 View 内,将标签限制在容器边缘,并为其创建导出。然后试试下面的代码:

containerView.borderColor = UIColor.lightGray.cgColor
containerView.layer.borderColor = UIColor.lightGray.cgColor
containerView.layer.borderWidth = 2
containerView.layer.shadowOffset = CGSize(width: -10, height: -10)
containerView.layer.shadowRadius = -5.0
containerView.backgroundColor = UIColor.clear

descriptionText.text = "Testing"
descriptionText.cornerRadius = 8
descriptionText.clipsToBounds = true // or descriptionText.layer.masksToBounds = true
descriptionText.backgroundColor = .white
descriptionText.textColor = .black
descriptionText.numberOfLines = 0
descriptionText.lineBreakMode = .byWordWrapping

关于swift - 带有边框和背景问题的 UILabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50881662/

相关文章:

swift - 这个 SwiftUI 动画应该只会淡出。为什么会向右移动?

swift - CLLocation 类 Swift

swift - 解析注册问题

提交时 Xcode 6 崩溃

ios - uilabel 上的罢工消失在 uitableview 中是否选择了单元格

ios - MPRemoteCommandCenter 的问题

ios - Xcode 将 IOS 应用程序作为其他项目分发

jquery - jquery mobile中 slider 的最小值

ios - 我想根据服务器响应的文本更改我的标签颜色

swift - 标签不调整字体大小以适应宽度