ios - 如何在矩形(UIButton或UIControl)Swift iOS中绘制多个水平圆
解决方案
我们可以很轻松地设计出这样的视图UIStackView
。取一个 stackView,将其设置alignment
为center
、axis
和。创建一个或偶数并为其添加圆角半径和边框。最后,将这些视图添加到主 stackView。试试这个。horizontal
distribution
fill
UILabel/UIButton/UIImageView
UIView
override func viewDidLoad() {
super.viewDidLoad()
//Setup stackView
let myStackView = UIStackView()
myStackView.axis = .horizontal
myStackView.alignment = .center
myStackView.distribution = .fillEqually
myStackView.spacing = 8
view.addSubview(myStackView)
//Setup circles
let circle_1 = circleLabel()
let circle_2 = circleLabel()
let circle_3 = circleLabel()
myStackView.addArrangedSubview(circle_1)
myStackView.addArrangedSubview(circle_2)
myStackView.addArrangedSubview(circle_3)
myStackView.translatesAutoresizingMaskIntoConstraints = false
myStackView.centerXAnchor.constraint(equalTo: view.centerXAnchor, constant: 0.0).isActive = true
myStackView.centerYAnchor.constraint(equalTo: view.centerYAnchor, constant: 0.0).isActive = true
}
func circleLabel() -> UILabel {
let label = UILabel()
label.backgroundColor = UIColor.red
label.layer.cornerRadius = 12.5
label.layer.masksToBounds = true
label.layer.borderColor = UIColor.orange.cgColor
label.layer.borderWidth = 3.0
label.widthAnchor.constraint(equalToConstant: 25.0).isActive = true
label.heightAnchor.constraint(equalToConstant: 25.0).isActive = true
return label
}
推荐阅读
- c# - 从 Polly 基础知识开始
- meshlab - 导入网格:极坐标数组的格式
- node.js - 未经授权的用户在被 401 错误拒绝后将多部分/数据发送到服务器事件
- android - 如何使用家庭图书馆与 android 中的家庭成员共享订阅?
- python - 如何在 mininet 上运行 python 文件
- php - 如何在 Cartalyst/Stripe Laravel 中捕获异常并重定向到我的 on 消息?我想在 catch 块中捕获错误
- react-native - 在反应导航中管理多个导航器(堆栈导航器和底部标签导航器)
- javascript - 如何获取特定复选框的位置编号
- python - 使用 Python scrapy 时错误的图像 src url
- excel - 在word中使用vba将文本添加到excel单元格