123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- //
- // FolderHeaderView.swift
- // O2Platform
- //
- // Created by 刘振兴 on 16/9/14.
- // Copyright © 2016年 zoneland. All rights reserved.
- //
- import UIKit
- import CocoaLumberjack
- private let buttonWidth = 60
- private let buttonHeight = 30
- private let labelWidth = 15
- private let labelHeight = 30
- protocol FolderHeaderViewDelegate {
- func headerClickSelected(currentFile f:OOFile,folderQueue fQueue:[OOFile])
- }
- class FolderHeaderView: UIView {
-
- var folderQueue:[OOFile]?
-
- var rootFile = OOFile()
-
- var delegate:FolderHeaderViewDelegate?
-
-
- override init(frame: CGRect) {
- super.init(frame: frame)
- //let button = createButton(file:rootFile,index:-1)
- let button = genernateButton(rootFile,-1)
- button.tag = 1001
- addSubview(button)
- let count = folderQueue?.count
- for i in 0 ..< (count ?? 0) {
- let f = self.folderQueue![i]
- let sp = genernateSymbol()
- addSubview(sp)
- let btn = genernateButton(f,i)
- btn.tag = 2000+i
- addSubview(btn)
- }
-
- }
-
- required init?(coder aDecoder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
-
- override func layoutSubviews() {
- //根目录button
- var x=5,y=5
- super.layoutSubviews()
- for view in self.subviews {
- if view.isKind(of: UIButton.self){
- if view.tag == 1001 {
- view.frame = CGRect(x: CGFloat(x), y: CGFloat(y), width: CGFloat(buttonWidth), height: CGFloat(buttonHeight))
- }else{
- x += labelWidth
- view.frame = CGRect(x: CGFloat(x), y: CGFloat(y), width: CGFloat(buttonWidth), height: CGFloat(buttonHeight))
- }
- }else if view.isKind(of: UILabel.self){
- x += buttonWidth
- view.frame = CGRect(x: CGFloat(x), y: CGFloat(y), width: CGFloat(labelWidth), height: CGFloat(labelHeight))
- }
- }
-
- }
-
- func genernateButton(_ file:OOFile,_ index:Int) -> UIButton {
- let button = UIButton(type: .custom)
- button.setTitle(file.name, for: .normal)
- button.setTitleColor(UIColor.gray, for: .normal)
- button.layer.borderWidth = 1
- button.layer.borderColor = base_color.cgColor
- button.layer.masksToBounds = true
- button.layer.cornerRadius = 12
- button.tag = index
- button.bounds = CGRect(x: 0, y: 0, width: CGFloat(buttonWidth), height: CGFloat(buttonHeight))
- button.titleLabel?.font = UIFont.systemFont(ofSize: 12)
- return button
- }
-
- func genernateSymbol() -> UILabel {
- let label = UILabel()
- label.text = "->"
- label.textColor = base_color
- label.font = UIFont.systemFont(ofSize: 12)
- label.bounds = CGRect(x: 0, y: 0, width: labelWidth, height: labelHeight)
- return label
- }
-
-
- }
|