12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- //
- // UnitBreadcrumbViewCell.swift
- // O2Platform
- //
- // Created by FancyLou on 2019/8/13.
- // Copyright © 2019 zoneland. All rights reserved.
- //
- import UIKit
- import CocoaLumberjack
- protocol UnitPickerBreadcrumbClickDelegate {
- func breadcrumbTap(name: String, distinguished: String)
- }
- class UnitBreadcrumbViewCell: UITableViewCell {
- @IBOutlet weak var breadcrumbScrollView: UIScrollView!
- var delegate: UnitPickerBreadcrumbClickDelegate?
-
- override func awakeFromNib() {
- super.awakeFromNib()
- }
- override func setSelected(_ selected: Bool, animated: Bool) {
- super.setSelected(selected, animated: animated)
- }
-
- func refreshBreadcrumb(breadcrumbList: [ContactBreadcrumbBean]) {
- if breadcrumbList.count > 0 {
- self.breadcrumbScrollView.removeSubviews()
- var oX = CGFloat(4.0)
- let arrowW = CGFloat(24)
- let arrowH = CGFloat(32)
- breadcrumbList.forEachEnumerated { (index, bar) in
- let name = bar.name
- var textColor:UIColor
- if breadcrumbList.count == (index+1) {
- textColor = UIColor(hex:"#666666")
- }else {
- textColor = base_color
- }
- let firstSize = name.getSize(with: 15)
- let oY = (self.breadcrumbScrollView.bounds.height - firstSize.height) / 2
- let firstLabel = UILabel(frame: CGRect(x: CGFloat(oX), y: oY, width: firstSize.width, height: firstSize.height))
- firstLabel.textAlignment = .left
- let textAttributes = [NSAttributedString.Key.foregroundColor: textColor,NSAttributedString.Key.font:UIFont(name:"PingFangSC-Regular",size:15)!]
- firstLabel.attributedText = NSMutableAttributedString(string: name, attributes: textAttributes)
- firstLabel.sizeToFit()
- oX += firstSize.width
- self.breadcrumbScrollView.addSubview(firstLabel)
- if breadcrumbList.count != (index+1) {
- let arrowY = (self.breadcrumbScrollView.bounds.height - arrowH) / 2
- let arrowImage = UIImageView(frame: CGRect(x: CGFloat(oX), y: arrowY, width: arrowW, height: arrowH))
- arrowImage.image = UIImage(named: "arrow_r")
- arrowImage.contentMode = .scaleAspectFit
- self.breadcrumbScrollView.addSubview(arrowImage)
- oX += arrowW
- }
- firstLabel.addTapGesture(action: { (rec) in
- DDLogDebug("点击了 \(index)")
- if breadcrumbList.count != (index+1) {
- self.delegate?.breadcrumbTap(name: bar.name, distinguished: bar.key)
- }
- })
- }
- var size = self.breadcrumbScrollView.contentSize
- size.width = oX
- self.breadcrumbScrollView.showsHorizontalScrollIndicator = true
- self.breadcrumbScrollView.contentSize = size
- self.breadcrumbScrollView.bounces = true
- //滚动到底部
- if self.breadcrumbScrollView.contentSize.width > self.breadcrumbScrollView.bounds.size.width {
- let point = CGPoint(x: self.breadcrumbScrollView.contentSize.width - self.breadcrumbScrollView.bounds.size.width + self.breadcrumbScrollView.contentInset.right, y: 0)
- self.breadcrumbScrollView.setContentOffset(point, animated: true)
- }
- }
- }
- }
|