1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- //
- // JXSegmentedNumberCell.swift
- // JXSegmentedView
- //
- // Created by jiaxin on 2018/12/28.
- // Copyright © 2018 jiaxin. All rights reserved.
- //
- import UIKit
- open class JXSegmentedNumberCell: JXSegmentedTitleCell {
- public let numberLabel = UILabel()
- open override func commonInit() {
- super.commonInit()
- numberLabel.isHidden = true
- numberLabel.textAlignment = .center
- numberLabel.layer.masksToBounds = true
- contentView.addSubview(numberLabel)
- }
- open override func layoutSubviews() {
- super.layoutSubviews()
- guard let myItemModel = itemModel as? JXSegmentedNumberItemModel else {
- return
- }
- numberLabel.sizeToFit()
- let height = myItemModel.numberHeight
- numberLabel.layer.cornerRadius = height/2
- numberLabel.bounds.size = CGSize(width: numberLabel.bounds.size.width + myItemModel.numberWidthIncrement, height: height)
- numberLabel.center = CGPoint(x: titleLabel.frame.maxX + myItemModel.numberOffset.x, y: titleLabel.frame.minY + myItemModel.numberOffset.y)
- }
- open override func reloadData(itemModel: JXSegmentedBaseItemModel, selectedType: JXSegmentedViewItemSelectedType) {
- super.reloadData(itemModel: itemModel, selectedType: selectedType )
- guard let myItemModel = itemModel as? JXSegmentedNumberItemModel else {
- return
- }
- numberLabel.backgroundColor = myItemModel.numberBackgroundColor
- numberLabel.textColor = myItemModel.numberTextColor
- numberLabel.text = myItemModel.numberString
- numberLabel.font = myItemModel.numberFont
- numberLabel.isHidden = myItemModel.number == 0
- setNeedsLayout()
- }
- }
|