snpKit 关于自动布局
来源:互联网 发布:电音大神 知乎 编辑:程序博客网 时间:2024/05/20 13:05
//// TRRateHeardView.swift// TREvaluation//// Created by Mr.H on 2017/4/25.// Copyright © 2017年 long. All rights reserved.//import UIKitclass TRRateHeardView: TSView { var array = [TRRateHeardModel]() //需要创建的个数 init(array:[TRRateHeardModel]) { self.array = array super.init() } override func viewDidLoad() { self.creatView(array: array) } func creatView(array:[TRRateHeardModel]) { var tempLable:UIView? = nil let multipliedBy:Float = 1 / Float(array.count) array.forEach { let view = self.creatlabel(number: array.count, model:$0) self.addSubview(view) if tempLable == nil { view.snp.makeConstraints { $0.left.equalToSuperview() $0.centerY.equalToSuperview() $0.width.equalToSuperview().multipliedBy(multipliedBy) } }else { view.snp.makeConstraints { $0.left.equalTo((tempLable?.snp.right)!) $0.centerY.equalToSuperview() $0.width.equalToSuperview().multipliedBy(multipliedBy) } } tempLable = view } } func creatlabel(number: Int,model: TRRateHeardModel) -> UIView { let bottomLabel = UIView() let dotLable = UILabel() let textLable = UILabel() bottomLabel.addSubview(dotLable) bottomLabel.addSubview(textLable) let dotwidth:CGFloat = model.dotwidth let spacing:CGFloat = model.spacing let centeX = spacing / 2 + dotwidth/2 dotLable.layer.cornerRadius = dotwidth/2 dotLable.layer.masksToBounds = true dotLable.backgroundColor = model.dotcolor textLable.text = model.title textLable.font = model.textFont textLable.textColor = model.textColor textLable.adjustsFontSizeToFitWidth = true dotLable.snp.makeConstraints { $0.right.equalTo(textLable.snp.left).offset(spacing) $0.centerY.equalToSuperview() $0.size.equalTo(CGSize(width: dotwidth, height: dotwidth)) } textLable.snp.makeConstraints { $0.centerY.equalToSuperview() $0.height.equalToSuperview() $0.centerX.equalToSuperview().offset(centeX) } return bottomLabel } convenience required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") }}struct TRRateHeardModel { var title: String //要显示的文字 var textColor:UIColor //文字颜色 var dotcolor: UIColor //圆点颜色 var dotwidth: CGFloat //圆点大小 var spacing: CGFloat //红点和文字间距 var textFont: UIFont //文字大小 init(title: String, textColor:UIColor = UIColor.gray , dotcolor: UIColor = UIColor.red, dotwidth: CGFloat = 12, spacing: CGFloat = -6, textFont: UIFont = UIFont.systemFont(ofSize: 16)) { self.title = title self.textColor = textColor self.dotcolor = dotcolor self.dotwidth = dotwidth self.spacing = spacing self.textFont = textFont }}
调用
let array = [TRRateHeardModel(title: "王木木"), TRRateHeardModel(title: "王木木"), TRRateHeardModel(title: "王木木")] self.heardView = TRRateHeardView(array: array) self.view.addSubview(heardView) self.heardView.snp.makeConstraints { $0.edges.equalToSuperview() }
0 0
- snpKit 关于自动布局
- 关于iOS自动布局
- 关于iOS自动布局
- 关于iOS自动布局
- 关于scrollView自动布局
- 关于ios自动布局
- 关于自动布局(Autolayout)
- 关于自动布局(Autolayout)
- 关于自动布局(Autolayout)
- 关于自动布局的文章
- 关于自动布局(Autolayout)
- 关于自动布局和sizeClasses
- 关于自动布局(Autolayout)
- 关于iOS自动布局学习心得
- 关于iOS代码实现自动布局
- ios 关于自动布局Masonry学习小结
- iOS关于自动布局(Autolayout)SizeClass
- iOS 关于自动布局 自适应宽高
- 修改SVN已提交项目的消息日志
- Android 点击View外部消失
- android 获取app使用的CPU
- 关于PHP内部编码与mysql字符差异问题的研究
- 收藏的博客地址
- snpKit 关于自动布局
- Mysql修改数据类型
- AOP 自定义日志
- 算法学习之一:堆排序
- 利用XDroidMvp快速实现mvp设计模式(一)
- 利用随机森林,xgboost,logistic回归,预测泰坦尼克号上面的乘客的获救概率
- 第四十讲项目七 找数字
- 将图片转换成字符串
- Android6.0动态权限整理