swift - 在 Swift 上层圆角
问题描述
我试图为我的分段控件使用 layer.cornerRadius 获得一个圆角,但实际上它对我不起作用我想根据框架获得cornerRadius
这是我的代码
func setupView(){
layer.masksToBounds = true
// here my corner radius
layer.cornerRadius = frame.height / 2.0
layer.borderColor = UIColor.walkthroughOrangeAccent.cgColor
layer.borderWidth = 2
backgroundColor = UIColor.clear
setupImageView()
addIndividualItemConstraints(items: imageViewList, mainView: self, padding: 0)
insertSubview(thumbView, at: 0)
}
解决方案
我怀疑由于布局限制,您没有看到角半径。尝试对分段控件进行子类化并将角半径设置为layoutSubviews
:
override func layoutSubviews() {
super.layoutSubviews()
layer.cornerRadius = frame.height / 2.0
}
或者,如果您在视图控制器中:
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
segmentedControl.layer.cornerRadius = segmentedControl.frame.width / 2.0
}
推荐阅读
- c# - C# 2D 绘制自定义样式的直线和曲线
- linux - Linux bash for do 循环动态参数替换
- c++ - 从双链表中的文件读取数据
- node.js - AWS Lambda - 错误:无法获取本地颁发者证书
- java - Android从互联网访问json数据时出错
- hibernate - 为什么 FetchType.LAZY 在 Hibernate/JPA 中不起作用?
- javascript - 如何在 Material UI 的 DateTimePicker 中再添加一个按钮?
- java - Java.How 使用多个变量并在 for 循环中迭代多个对象?
- matrix - 矩阵特征值的神经网络
- git - git@github.com:权限被拒绝(公钥),而公钥已经添加到 github