Commit 10668bdcadd40a2b78e84925cb0102e54f397287
1 parent
c7ed30f2
Exists in
parentassistant
调整样式
Showing
11 changed files
with
333 additions
and
305 deletions
 
Show diff stats
ParentAssistant/ParentAssistant.xcodeproj/project.pbxproj
| ... | ... | @@ -444,11 +444,10 @@ | 
| 444 | 444 | 599364E6204E62E700C8B371 /* Grow */ = { | 
| 445 | 445 | isa = PBXGroup; | 
| 446 | 446 | children = ( | 
| 447 | - ADC9AB70207C558600348EF1 /* Model */, | |
| 448 | 447 | ADC9AB71207C55CE00348EF1 /* GrowViewController.swift */, | 
| 449 | - 599364E7204E62E700C8B371 /* ReportViewController.swift */, | |
| 450 | - AD65FB7920637F110052415B /* MoralViewController.swift */, | |
| 451 | - ADAEA3972064960300A47D2C /* SceneDetailViewController.swift */, | |
| 448 | + ADC9AB86207C8EB400348EF1 /* Program */, | |
| 449 | + ADC9AB85207C8EA700348EF1 /* Report */, | |
| 450 | + ADC9AB70207C558600348EF1 /* Model */, | |
| 452 | 451 | BF3B829E2050CC7E002078EA /* View */, | 
| 453 | 452 | ); | 
| 454 | 453 | path = Grow; | 
| ... | ... | @@ -498,6 +497,23 @@ | 
| 498 | 497 | path = Model; | 
| 499 | 498 | sourceTree = "<group>"; | 
| 500 | 499 | }; | 
| 500 | + ADC9AB85207C8EA700348EF1 /* Report */ = { | |
| 501 | + isa = PBXGroup; | |
| 502 | + children = ( | |
| 503 | + 599364E7204E62E700C8B371 /* ReportViewController.swift */, | |
| 504 | + AD65FB7920637F110052415B /* MoralViewController.swift */, | |
| 505 | + ADAEA3972064960300A47D2C /* SceneDetailViewController.swift */, | |
| 506 | + ); | |
| 507 | + path = Report; | |
| 508 | + sourceTree = "<group>"; | |
| 509 | + }; | |
| 510 | + ADC9AB86207C8EB400348EF1 /* Program */ = { | |
| 511 | + isa = PBXGroup; | |
| 512 | + children = ( | |
| 513 | + ); | |
| 514 | + path = Program; | |
| 515 | + sourceTree = "<group>"; | |
| 516 | + }; | |
| 501 | 517 | B605235D289EDBCA5C5AF2C5 /* Frameworks */ = { | 
| 502 | 518 | isa = PBXGroup; | 
| 503 | 519 | children = ( | ... | ... | 
ParentAssistant/ParentAssistant.xcworkspace/xcuserdata/caoyang.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
ParentAssistant/ParentAssistant/Classes/controllers/Grow/GrowViewController.swift
| ... | ... | @@ -38,13 +38,13 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { | 
| 38 | 38 | lazy var titleLine = {()->CALayer in | 
| 39 | 39 | let lineLay = CALayer.init() | 
| 40 | 40 | lineLay.frame.size = CGSize.init(width: 50, height: 2) | 
| 41 | - lineLay.backgroundColor = UIColor.gray.cgColor | |
| 41 | + lineLay.backgroundColor = UIColor.blue.cgColor | |
| 42 | 42 | return lineLay | 
| 43 | 43 | }() | 
| 44 | 44 | |
| 45 | 45 | override func viewDidLoad() { | 
| 46 | 46 | super.viewDidLoad() | 
| 47 | - | |
| 47 | + navigationBarHeight = self.navigationController?.navigationBar.frame.height | |
| 48 | 48 | titleArr = ["应用","报告"] | 
| 49 | 49 | //设置导航栏标题 | 
| 50 | 50 | self.navigationItem.titleView = titleView | 
| ... | ... | @@ -54,8 +54,8 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { | 
| 54 | 54 | setChildViewContent() | 
| 55 | 55 | |
| 56 | 56 | //左按钮 | 
| 57 | - let leftView = UIButton.init(frame: CGRect.init(x: 0, y: 0, width: 50, height: 44)) | |
| 58 | - let titleLab = UILabel.init(frame: CGRect.init(x: 0, y: 0, width: 40, height: 44)) | |
| 57 | + let leftView = UIButton.init(frame: CGRect.init(x: 0, y: 0, width: 60, height: 44)) | |
| 58 | + let titleLab = UILabel.init(frame: CGRect.init(x: 0, y: 0, width: 50, height: 44)) | |
| 59 | 59 | if AccountManager.shared.isOnline() { | 
| 60 | 60 | if AccountManager.shared.rawUserInfo!.contentData()["studentClass"].arrayValue.count == 0 { | 
| 61 | 61 | titleLab.text = "未绑定" | 
| ... | ... | @@ -69,7 +69,7 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { | 
| 69 | 69 | titleLab.textAlignment = .center | 
| 70 | 70 | leftView.addSubview(titleLab) | 
| 71 | 71 | |
| 72 | - let imageView = UIImageView.init(frame: CGRect.init(x: 40, y: 11, width: 10, height: 22)) | |
| 72 | + let imageView = UIImageView.init(frame: CGRect.init(x: 50, y: 11, width: 10, height: 22)) | |
| 73 | 73 | imageView.image = UIImage.init(named: "report_pull") | 
| 74 | 74 | imageView.contentMode = .scaleAspectFit | 
| 75 | 75 | leftView.addSubview(imageView) | 
| ... | ... | @@ -95,11 +95,7 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { | 
| 95 | 95 | let rightBtn = UIBarButtonItem.init(customView: rightView) | 
| 96 | 96 | self.navigationItem.rightBarButtonItem = rightBtn | 
| 97 | 97 | |
| 98 | - setupNavigationBar() | |
| 99 | - } | |
| 100 | - | |
| 101 | - // MARK: - 设置顶部按钮 | |
| 102 | - func setupNavigationBar(){ | |
| 98 | + //设置顶部样式 | |
| 103 | 99 | self.configTheme() | 
| 104 | 100 | } | 
| 105 | 101 | |
| ... | ... | @@ -112,7 +108,6 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { | 
| 112 | 108 | } | 
| 113 | 109 | //设置第一个控制器数据 | 
| 114 | 110 | let childVC = self.childViewControllers.first | 
| 115 | - childVC?.view.frame = self.view.bounds | |
| 116 | 111 | self.contentScrollView.addSubview((childVC?.view)!) | 
| 117 | 112 | //设置scrollview滑动范围 | 
| 118 | 113 | contentScrollView.contentSize = CGSize.init(width: getScreenWidth()*CGFloat(titleArr.count), height: 0) | 
| ... | ... | @@ -134,7 +129,7 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { | 
| 134 | 129 | btn.frame.size = CGSize.init(width: 40, height: ZJBNavH) | 
| 135 | 130 | |
| 136 | 131 | let widht = getScreenWidth() | 
| 137 | - btn.center = CGPoint.init(x: widht/4*(1+CGFloat(i))-16, y: CGFloat(ZJBNavH/2)) | |
| 132 | + btn.center = CGPoint.init(x: widht/4*(1+CGFloat(i))-26, y: CGFloat(ZJBNavH/2)) | |
| 138 | 133 | btnWidthArr.append(btn.frame.size.width) | 
| 139 | 134 | |
| 140 | 135 | titleBtnArr.append(btn) | ... | ... | 
ParentAssistant/ParentAssistant/Classes/controllers/Grow/MoralViewController.swift
| ... | ... | @@ -1,106 +0,0 @@ | 
| 1 | -// | |
| 2 | -// MoralViewController.swift | |
| 3 | -// ParentAssistant | |
| 4 | -// | |
| 5 | -// Created by Cao yang on 2018/3/22. | |
| 6 | -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved. | |
| 7 | -// | |
| 8 | - | |
| 9 | -import UIKit | |
| 10 | - | |
| 11 | -class MoralViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { | |
| 12 | - | |
| 13 | - @IBOutlet weak var tableView: UITableView! | |
| 14 | - var data = [String:JSON]() | |
| 15 | - override func viewDidLoad() { | |
| 16 | - super.viewDidLoad() | |
| 17 | - self.title = "德育报告" | |
| 18 | - tableView.delegate = self | |
| 19 | - tableView.dataSource = self | |
| 20 | - | |
| 21 | - | |
| 22 | - downLoadDataFromNet() | |
| 23 | - } | |
| 24 | - | |
| 25 | - private func downLoadDataFromNet(){ | |
| 26 | - | |
| 27 | - | |
| 28 | - let params = ["screenId":1,"startDate":"2018-03-08","endDate":"2018-04-08","classId":"70","schoolId":1] as [String : Any] | |
| 29 | - | |
| 30 | - HTTPServer.shared.getEvaluationSceneAnalysis(parameters: params as [String : AnyObject]) { (backData, error) in | |
| 31 | - | |
| 32 | - if error == nil && JSON.fromString(backData)!["status"].intValue == 1 { | |
| 33 | - | |
| 34 | - self.data = JSON.fromString(backData)!["data"].dictionaryValue | |
| 35 | - | |
| 36 | - if !self.data.isEmpty{ | |
| 37 | - print(self.data) | |
| 38 | - } | |
| 39 | - } | |
| 40 | - } | |
| 41 | - } | |
| 42 | - | |
| 43 | - | |
| 44 | - | |
| 45 | - func numberOfSections(in tableView: UITableView) -> Int { | |
| 46 | - return 3 | |
| 47 | - } | |
| 48 | - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | |
| 49 | - | |
| 50 | - if section == 2 { | |
| 51 | - return 3 | |
| 52 | - }else{ | |
| 53 | - return 1 | |
| 54 | - } | |
| 55 | - } | |
| 56 | - func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | |
| 57 | - switch indexPath.section { | |
| 58 | - case 0: | |
| 59 | - return 240 | |
| 60 | - case 1: | |
| 61 | - return 240 | |
| 62 | - case 2: | |
| 63 | - return 70 | |
| 64 | - default: | |
| 65 | - return 0 | |
| 66 | - } | |
| 67 | - } | |
| 68 | - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | |
| 69 | - var cell = UITableViewCell.init() | |
| 70 | - switch indexPath.section { | |
| 71 | - case 0: | |
| 72 | - cell = tableView.dequeueReusableCell(withIdentifier: "moralDetail", for: indexPath) | |
| 73 | - return cell | |
| 74 | - case 1: | |
| 75 | - cell = tableView.dequeueReusableCell(withIdentifier: "educationDetail", for: indexPath) | |
| 76 | - return cell | |
| 77 | - case 2: | |
| 78 | - cell = tableView.dequeueReusableCell(withIdentifier: "behaviorDetail", for: indexPath) | |
| 79 | - return cell | |
| 80 | - default: | |
| 81 | - return cell | |
| 82 | - } | |
| 83 | - } | |
| 84 | - func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | |
| 85 | - if indexPath.section == 2 { | |
| 86 | - let scene = Story.instantiateViewControllerWithIdentifier("SceneDetailViewController", storyName: "Main") as! SceneDetailViewController | |
| 87 | - self.navigationController?.pushViewController(scene, animated: true) | |
| 88 | - } | |
| 89 | - } | |
| 90 | - override func didReceiveMemoryWarning() { | |
| 91 | - super.didReceiveMemoryWarning() | |
| 92 | - // Dispose of any resources that can be recreated. | |
| 93 | - } | |
| 94 | - | |
| 95 | - | |
| 96 | - /* | |
| 97 | - // MARK: - Navigation | |
| 98 | - | |
| 99 | - // In a storyboard-based application, you will often want to do a little preparation before navigation | |
| 100 | - override func prepare(for segue: UIStoryboardSegue, sender: Any?) { | |
| 101 | - // Get the new view controller using segue.destinationViewController. | |
| 102 | - // Pass the selected object to the new view controller. | |
| 103 | - } | |
| 104 | - */ | |
| 105 | - | |
| 106 | -} | 
ParentAssistant/ParentAssistant/Classes/controllers/Grow/Report/MoralViewController.swift
0 → 100644
| ... | ... | @@ -0,0 +1,117 @@ | 
| 1 | +// | |
| 2 | +// MoralViewController.swift | |
| 3 | +// ParentAssistant | |
| 4 | +// | |
| 5 | +// Created by Cao yang on 2018/3/22. | |
| 6 | +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +import UIKit | |
| 10 | + | |
| 11 | +class MoralViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { | |
| 12 | + | |
| 13 | + lazy var tableView = {()->UITableView in | |
| 14 | + | |
| 15 | + let table = UITableView.init(frame: CGRect.init(x: 0, y: 0, width: screenWidth, height: screenHeight-navigationBarHeight!-statusBarHeight-10)) | |
| 16 | + table.backgroundColor = UIColor.init(red: 235/255, green: 235/255, blue: 241/255, alpha: 1) | |
| 17 | + table.delegate = self | |
| 18 | + table.dataSource = self | |
| 19 | + table.register(UINib.init(nibName: "MoralDetailCell", bundle: nil), forCellReuseIdentifier: "moralDetail") | |
| 20 | + table.register(UINib.init(nibName: "EducationDetailCell", bundle: nil), forCellReuseIdentifier: "educationDetail") | |
| 21 | + table.register(UINib.init(nibName: "BehaviorDetailCell", bundle: nil), forCellReuseIdentifier: "behaviorDetail") | |
| 22 | + return table | |
| 23 | + }() | |
| 24 | + | |
| 25 | + var data = [String:JSON]() | |
| 26 | + | |
| 27 | + override func viewDidLoad() { | |
| 28 | + super.viewDidLoad() | |
| 29 | + self.title = "德育报告" | |
| 30 | + self.view.backgroundColor = backGroundColor | |
| 31 | + self.view.addSubview(self.tableView) | |
| 32 | + | |
| 33 | + | |
| 34 | + downLoadDataFromNet() | |
| 35 | + } | |
| 36 | + | |
| 37 | + private func downLoadDataFromNet(){ | |
| 38 | + | |
| 39 | + let params = ["screenId":1,"startDate":"2018-03-08","endDate":"2018-04-08","classId":"70","schoolId":1] as [String : Any] | |
| 40 | + HTTPServer.shared.getEvaluationSceneAnalysis(parameters: params as [String : AnyObject]) { (backData, error) in | |
| 41 | + | |
| 42 | + if error == nil && JSON.fromString(backData)!["status"].intValue == 1 { | |
| 43 | + | |
| 44 | + self.data = JSON.fromString(backData)!["data"].dictionaryValue | |
| 45 | + | |
| 46 | + if !self.data.isEmpty{ | |
| 47 | + print(self.data) | |
| 48 | + } | |
| 49 | + } | |
| 50 | + } | |
| 51 | + } | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + func numberOfSections(in tableView: UITableView) -> Int { | |
| 56 | + return 3 | |
| 57 | + } | |
| 58 | + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | |
| 59 | + | |
| 60 | + if section == 2 { | |
| 61 | + return 3 | |
| 62 | + }else{ | |
| 63 | + return 1 | |
| 64 | + } | |
| 65 | + } | |
| 66 | + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | |
| 67 | + switch indexPath.section { | |
| 68 | + case 0: | |
| 69 | + return 240 | |
| 70 | + case 1: | |
| 71 | + return 240 | |
| 72 | + case 2: | |
| 73 | + return 70 | |
| 74 | + default: | |
| 75 | + return 0 | |
| 76 | + } | |
| 77 | + } | |
| 78 | + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | |
| 79 | + var cell = UITableViewCell.init() | |
| 80 | + switch indexPath.section { | |
| 81 | + case 0: | |
| 82 | + cell = tableView.dequeueReusableCell(withIdentifier: "moralDetail", for: indexPath) as! MoralDetailCell | |
| 83 | + return cell | |
| 84 | + case 1: | |
| 85 | + cell = tableView.dequeueReusableCell(withIdentifier: "educationDetail", for: indexPath) as! EducationDetailCell | |
| 86 | + return cell | |
| 87 | + case 2: | |
| 88 | + cell = tableView.dequeueReusableCell(withIdentifier: "behaviorDetail", for: indexPath) as! BehaviorDetailCell | |
| 89 | + return cell | |
| 90 | + default: | |
| 91 | + return cell | |
| 92 | + } | |
| 93 | + } | |
| 94 | + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | |
| 95 | + if indexPath.section == 2 { | |
| 96 | + | |
| 97 | + let scene = SceneDetailViewController() | |
| 98 | + self.navigationController?.pushViewController(scene, animated: true) | |
| 99 | + } | |
| 100 | + } | |
| 101 | + override func didReceiveMemoryWarning() { | |
| 102 | + super.didReceiveMemoryWarning() | |
| 103 | + // Dispose of any resources that can be recreated. | |
| 104 | + } | |
| 105 | + | |
| 106 | + | |
| 107 | + /* | |
| 108 | + // MARK: - Navigation | |
| 109 | + | |
| 110 | + // In a storyboard-based application, you will often want to do a little preparation before navigation | |
| 111 | + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { | |
| 112 | + // Get the new view controller using segue.destinationViewController. | |
| 113 | + // Pass the selected object to the new view controller. | |
| 114 | + } | |
| 115 | + */ | |
| 116 | + | |
| 117 | +} | ... | ... | 
ParentAssistant/ParentAssistant/Classes/controllers/Grow/Report/ReportViewController.swift
0 → 100644
| ... | ... | @@ -0,0 +1,97 @@ | 
| 1 | +// | |
| 2 | +// ReportViewController.swift | |
| 3 | +// ParentAssistant | |
| 4 | +// | |
| 5 | +// Created by 葛建军 on 2018/3/5. | |
| 6 | +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +import UIKit | |
| 10 | + | |
| 11 | +class ReportViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { | |
| 12 | + | |
| 13 | + //膜板 | |
| 14 | + var keyWindow = UIWindow() | |
| 15 | + var backBotton = UIButton() | |
| 16 | + //日历 | |
| 17 | + var calendar = CalendarView() | |
| 18 | + | |
| 19 | + lazy var reportTable = {()-> UITableView in | |
| 20 | + let table = UITableView.init(frame: CGRect.init(x: 0, y: 60, width: screenWidth, height: screenHeight-navigationBarHeight!-statusBarHeight-(self.tabBarController?.tabBar.frame.height)!-60)) | |
| 21 | + table.delegate = self | |
| 22 | + table.dataSource = self | |
| 23 | + table.backgroundColor = backGroundColor | |
| 24 | + table.register(UINib.init(nibName: "MoralTableViewCell", bundle: nil), forCellReuseIdentifier: "MoralTableViewCell") | |
| 25 | + table.register(UINib.init(nibName: "GrowSubjectCell", bundle: nil), forCellReuseIdentifier: "GrowSubjectCell") | |
| 26 | + return table | |
| 27 | + }() | |
| 28 | + override func viewDidLoad() { | |
| 29 | + super.viewDidLoad() | |
| 30 | + | |
| 31 | + self.view.addSubview(self.reportTable) | |
| 32 | + | |
| 33 | + setupDateView() | |
| 34 | + } | |
| 35 | + | |
| 36 | + | |
| 37 | + // MARK: - 设置日期View | |
| 38 | + func setupDateView(){ | |
| 39 | + | |
| 40 | + let headView = UIView.init(frame: CGRect.init(x: 0, y: 0, width: screenWidth, height: 60)) | |
| 41 | + self.view.addSubview(headView) | |
| 42 | + //添加手势 | |
| 43 | + let recognizer = UISwipeGestureRecognizer.init(target: self, action: #selector(showView)) | |
| 44 | + recognizer.direction = UISwipeGestureRecognizerDirection.down | |
| 45 | + headView.addGestureRecognizer(recognizer) | |
| 46 | + | |
| 47 | + calendar = CalendarView.init(frame: CGRect.init(x: 0, y: 30, width: screenWidth, height: 260)) | |
| 48 | + } | |
| 49 | + | |
| 50 | + @objc func showView(){ | |
| 51 | + keyWindow = UIApplication.shared.keyWindow! | |
| 52 | + let backBtn = UIButton.init(frame: CGRect.init(x: 0, y: calendar.frame.origin.y+260+22, width: screenWidth, height: screenHeight)) | |
| 53 | + backBtn.backgroundColor = UIColor.black | |
| 54 | + backBtn.alpha = 0.4 | |
| 55 | + | |
| 56 | + backBtn.addTarget(self, action: #selector(closeView(btn:)), for: UIControlEvents.allEvents) | |
| 57 | + reportTable.isUserInteractionEnabled = false | |
| 58 | + | |
| 59 | + keyWindow.addSubview(backBtn) | |
| 60 | + keyWindow.addSubview(calendar) | |
| 61 | + calendar.isHidden = false | |
| 62 | + } | |
| 63 | + @objc func closeView(btn:UIButton) { | |
| 64 | + | |
| 65 | + reportTable.isUserInteractionEnabled = true | |
| 66 | + UIView.animate(withDuration: 0.3) { | |
| 67 | + btn.removeFromSuperview() | |
| 68 | + self.calendar.isHidden = true | |
| 69 | + } | |
| 70 | + } | |
| 71 | + override func didReceiveMemoryWarning() { | |
| 72 | + super.didReceiveMemoryWarning() | |
| 73 | + } | |
| 74 | + | |
| 75 | + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | |
| 76 | + return 5 | |
| 77 | + } | |
| 78 | + | |
| 79 | + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | |
| 80 | + | |
| 81 | + if indexPath.row == 0 { | |
| 82 | + let cell = tableView.dequeueReusableCell(withIdentifier: "MoralTableViewCell", for: indexPath) as! MoralTableViewCell | |
| 83 | + return cell | |
| 84 | + }else{ | |
| 85 | + let cell = tableView.dequeueReusableCell(withIdentifier: "GrowSubjectCell", for: indexPath) as! GrowSubjectCell | |
| 86 | + return cell | |
| 87 | + } | |
| 88 | + } | |
| 89 | + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | |
| 90 | + return 280 | |
| 91 | + } | |
| 92 | + | |
| 93 | + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | |
| 94 | + let vc = MoralViewController() | |
| 95 | + self.navigationController?.pushViewController(vc, animated: true) | |
| 96 | + } | |
| 97 | +} | ... | ... | 
ParentAssistant/ParentAssistant/Classes/controllers/Grow/Report/SceneDetailViewController.swift
0 → 100644
| ... | ... | @@ -0,0 +1,87 @@ | 
| 1 | +// | |
| 2 | +// SceneDetailViewController.swift | |
| 3 | +// ParentAssistant | |
| 4 | +// | |
| 5 | +// Created by Cao yang on 2018/3/22. | |
| 6 | +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +import UIKit | |
| 10 | + | |
| 11 | +class SceneDetailViewController: UIViewController,UITableViewDataSource,UITableViewDelegate { | |
| 12 | + | |
| 13 | + lazy var sceneTableView = {()->UITableView in | |
| 14 | + let table = UITableView.init(frame: CGRect.init(x: 0, y: 0, width: screenWidth, height: screenHeight-navigationBarHeight!-statusBarHeight-10)) | |
| 15 | + table.backgroundColor = backGroundColor | |
| 16 | + table.delegate = self | |
| 17 | + table.dataSource = self | |
| 18 | + table.register(UINib.init(nibName: "SceneTopCell", bundle: nil), forCellReuseIdentifier: "cultureCell") | |
| 19 | + table.register(UINib.init(nibName: "SceneMiddleCell", bundle: nil), forCellReuseIdentifier: "scoreCell") | |
| 20 | + table.register(UINib.init(nibName: "SceneDownCell", bundle: nil), forCellReuseIdentifier: "disciplineCell") | |
| 21 | + | |
| 22 | + return table | |
| 23 | + }() | |
| 24 | + | |
| 25 | + override func viewDidLoad() { | |
| 26 | + super.viewDidLoad() | |
| 27 | + self.title = "场景详情" | |
| 28 | + self.view.backgroundColor = backGroundColor | |
| 29 | + self.view.addSubview(self.sceneTableView) | |
| 30 | + | |
| 31 | + } | |
| 32 | + func numberOfSections(in tableView: UITableView) -> Int { | |
| 33 | + return 3 | |
| 34 | + } | |
| 35 | + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | |
| 36 | + if section == 2 { | |
| 37 | + return 5 | |
| 38 | + } | |
| 39 | + return 1 | |
| 40 | + } | |
| 41 | + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | |
| 42 | + | |
| 43 | + switch indexPath.section { | |
| 44 | + case 0: | |
| 45 | + return 240 | |
| 46 | + case 1: | |
| 47 | + return 250 | |
| 48 | + case 2: | |
| 49 | + return 70 | |
| 50 | + default: | |
| 51 | + return 0 | |
| 52 | + } | |
| 53 | + } | |
| 54 | + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | |
| 55 | + var cell = UITableViewCell.init() | |
| 56 | + switch indexPath.section { | |
| 57 | + case 0: | |
| 58 | + cell = tableView.dequeueReusableCell(withIdentifier: "cultureCell", for: indexPath) as! SceneTopCell | |
| 59 | + return cell | |
| 60 | + case 1: | |
| 61 | + cell = tableView.dequeueReusableCell(withIdentifier: "scoreCell", for: indexPath) as! SceneMiddleCell | |
| 62 | + return cell | |
| 63 | + case 2: | |
| 64 | + cell = tableView.dequeueReusableCell(withIdentifier: "disciplineCell", for: indexPath) as! SceneDownCell | |
| 65 | + return cell | |
| 66 | + default: | |
| 67 | + return cell | |
| 68 | + } | |
| 69 | + } | |
| 70 | + | |
| 71 | + override func didReceiveMemoryWarning() { | |
| 72 | + super.didReceiveMemoryWarning() | |
| 73 | + // Dispose of any resources that can be recreated. | |
| 74 | + } | |
| 75 | + | |
| 76 | + | |
| 77 | + /* | |
| 78 | + // MARK: - Navigation | |
| 79 | + | |
| 80 | + // In a storyboard-based application, you will often want to do a little preparation before navigation | |
| 81 | + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { | |
| 82 | + // Get the new view controller using segue.destinationViewController. | |
| 83 | + // Pass the selected object to the new view controller. | |
| 84 | + } | |
| 85 | + */ | |
| 86 | + | |
| 87 | +} | ... | ... | 
ParentAssistant/ParentAssistant/Classes/controllers/Grow/ReportViewController.swift
| ... | ... | @@ -1,104 +0,0 @@ | 
| 1 | -// | |
| 2 | -// ReportViewController.swift | |
| 3 | -// ParentAssistant | |
| 4 | -// | |
| 5 | -// Created by 葛建军 on 2018/3/5. | |
| 6 | -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved. | |
| 7 | -// | |
| 8 | - | |
| 9 | -import UIKit | |
| 10 | - | |
| 11 | -class ReportViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { | |
| 12 | - | |
| 13 | - var reportTable: UITableView! | |
| 14 | - | |
| 15 | - //膜板 | |
| 16 | - var keyWindow = UIWindow() | |
| 17 | - var backBotton = UIButton() | |
| 18 | - //日历 | |
| 19 | - var calendar = CalendarView() | |
| 20 | - | |
| 21 | - override func viewDidLoad() { | |
| 22 | - super.viewDidLoad() | |
| 23 | - setupDateView() | |
| 24 | - } | |
| 25 | - | |
| 26 | - // MARK: - 设置日期页面 | |
| 27 | - func setupDateView(){ | |
| 28 | - | |
| 29 | - let headView = UIView.init(frame: CGRect.init(x: 0, y: 0, width: screenWidth, height: 60)) | |
| 30 | - self.view.addSubview(headView) | |
| 31 | - | |
| 32 | - //添加手势 | |
| 33 | - let recognizer = UISwipeGestureRecognizer.init(target: self, action: #selector(showView)) | |
| 34 | - recognizer.direction = UISwipeGestureRecognizerDirection.down | |
| 35 | - headView.addGestureRecognizer(recognizer) | |
| 36 | - | |
| 37 | - calendar = CalendarView.init(frame: CGRect.init(x: 0, y: 30, width: screenWidth, height: 260)) | |
| 38 | - | |
| 39 | - self.reportTable = UITableView.init(frame: CGRect.init(x: 0, y: 60, width: screenWidth, height: screenHeight-60)) | |
| 40 | - self.view.addSubview(self.reportTable) | |
| 41 | - self.reportTable.delegate = self | |
| 42 | - self.reportTable.dataSource = self | |
| 43 | - | |
| 44 | - self.reportTable.register(UINib.init(nibName: "MoralTableViewCell", bundle: nil), forCellReuseIdentifier: "MoralTableViewCell") | |
| 45 | - self.reportTable.register(UINib.init(nibName: "GrowSubjectCell", bundle: nil), forCellReuseIdentifier: "GrowSubjectCell") | |
| 46 | - } | |
| 47 | - | |
| 48 | - @objc func showView(){ | |
| 49 | - keyWindow = UIApplication.shared.keyWindow! | |
| 50 | - let backBtn = UIButton.init(frame: CGRect.init(x: 0, y: calendar.frame.origin.y+260+22, width: screenWidth, height: screenHeight)) | |
| 51 | - backBtn.backgroundColor = UIColor.black | |
| 52 | - backBtn.alpha = 0.4 | |
| 53 | - | |
| 54 | - backBtn.addTarget(self, action: #selector(closeView(btn:)), for: UIControlEvents.allEvents) | |
| 55 | - reportTable.isUserInteractionEnabled = false | |
| 56 | - | |
| 57 | - keyWindow.addSubview(backBtn) | |
| 58 | - keyWindow.addSubview(calendar) | |
| 59 | - calendar.isHidden = false | |
| 60 | - } | |
| 61 | - @objc func closeView(btn:UIButton) { | |
| 62 | - | |
| 63 | - reportTable.isUserInteractionEnabled = true | |
| 64 | - UIView.animate(withDuration: 0.3) { | |
| 65 | - btn.removeFromSuperview() | |
| 66 | - self.calendar.isHidden = true | |
| 67 | - } | |
| 68 | - } | |
| 69 | - override func viewWillAppear(_ animated: Bool) { | |
| 70 | - super.viewWillAppear(animated) | |
| 71 | - } | |
| 72 | - override func viewWillDisappear(_ animated: Bool) { | |
| 73 | - super.viewWillDisappear(animated) | |
| 74 | - } | |
| 75 | - override func viewDidLayoutSubviews() { | |
| 76 | - super.viewDidLayoutSubviews() | |
| 77 | - | |
| 78 | - } | |
| 79 | - override func didReceiveMemoryWarning() { | |
| 80 | - super.didReceiveMemoryWarning() | |
| 81 | - } | |
| 82 | - | |
| 83 | - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | |
| 84 | - return 5 | |
| 85 | - } | |
| 86 | - | |
| 87 | - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | |
| 88 | - | |
| 89 | - if indexPath.row == 0 { | |
| 90 | - let cell = tableView.dequeueReusableCell(withIdentifier: "MoralTableViewCell", for: indexPath) as! MoralTableViewCell | |
| 91 | - return cell | |
| 92 | - }else{ | |
| 93 | - let cell = tableView.dequeueReusableCell(withIdentifier: "GrowSubjectCell", for: indexPath) as! GrowSubjectCell | |
| 94 | - return cell | |
| 95 | - } | |
| 96 | - } | |
| 97 | - func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | |
| 98 | - return 280 | |
| 99 | - } | |
| 100 | - | |
| 101 | - func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | |
| 102 | - | |
| 103 | - } | |
| 104 | -} | 
ParentAssistant/ParentAssistant/Classes/controllers/Grow/SceneDetailViewController.swift
| ... | ... | @@ -1,76 +0,0 @@ | 
| 1 | -// | |
| 2 | -// SceneDetailViewController.swift | |
| 3 | -// ParentAssistant | |
| 4 | -// | |
| 5 | -// Created by Cao yang on 2018/3/22. | |
| 6 | -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved. | |
| 7 | -// | |
| 8 | - | |
| 9 | -import UIKit | |
| 10 | - | |
| 11 | -class SceneDetailViewController: UIViewController,UITableViewDataSource,UITableViewDelegate { | |
| 12 | - | |
| 13 | - @IBOutlet weak var sceneTableView: UITableView! | |
| 14 | - override func viewDidLoad() { | |
| 15 | - super.viewDidLoad() | |
| 16 | - self.title = "场景详情" | |
| 17 | - sceneTableView.delegate = self | |
| 18 | - sceneTableView.dataSource = self | |
| 19 | - // Do any additional setup after loading the view. | |
| 20 | - } | |
| 21 | - func numberOfSections(in tableView: UITableView) -> Int { | |
| 22 | - return 3 | |
| 23 | - } | |
| 24 | - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | |
| 25 | - if section == 2 { | |
| 26 | - return 5 | |
| 27 | - } | |
| 28 | - return 1 | |
| 29 | - } | |
| 30 | - func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | |
| 31 | - | |
| 32 | - switch indexPath.section { | |
| 33 | - case 0: | |
| 34 | - return 240 | |
| 35 | - case 1: | |
| 36 | - return 250 | |
| 37 | - case 2: | |
| 38 | - return 70 | |
| 39 | - default: | |
| 40 | - return 0 | |
| 41 | - } | |
| 42 | - } | |
| 43 | - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | |
| 44 | - var cell = UITableViewCell.init() | |
| 45 | - switch indexPath.section { | |
| 46 | - case 0: | |
| 47 | - cell = tableView.dequeueReusableCell(withIdentifier: "cultureCell", for: indexPath) as! SceneTopCell | |
| 48 | - return cell | |
| 49 | - case 1: | |
| 50 | - cell = tableView.dequeueReusableCell(withIdentifier: "scoreCell", for: indexPath) as! SceneMiddleCell | |
| 51 | - return cell | |
| 52 | - case 2: | |
| 53 | - cell = tableView.dequeueReusableCell(withIdentifier: "disciplineCell", for: indexPath) as! SceneDownCell | |
| 54 | - return cell | |
| 55 | - default: | |
| 56 | - return cell | |
| 57 | - } | |
| 58 | - } | |
| 59 | - | |
| 60 | - override func didReceiveMemoryWarning() { | |
| 61 | - super.didReceiveMemoryWarning() | |
| 62 | - // Dispose of any resources that can be recreated. | |
| 63 | - } | |
| 64 | - | |
| 65 | - | |
| 66 | - /* | |
| 67 | - // MARK: - Navigation | |
| 68 | - | |
| 69 | - // In a storyboard-based application, you will often want to do a little preparation before navigation | |
| 70 | - override func prepare(for segue: UIStoryboardSegue, sender: Any?) { | |
| 71 | - // Get the new view controller using segue.destinationViewController. | |
| 72 | - // Pass the selected object to the new view controller. | |
| 73 | - } | |
| 74 | - */ | |
| 75 | - | |
| 76 | -} | 
ParentAssistant/ParentAssistant/Classes/util/Macro.swift
| ... | ... | @@ -12,9 +12,11 @@ import UIKit | 
| 12 | 12 | //MARK: -------------------------- 全局常量 ----------------------------- | 
| 13 | 13 | |
| 14 | 14 | let appDelegate = UIApplication.shared.delegate as! AppDelegate | 
| 15 | - | |
| 15 | +let statusBarHeight = UIApplication.shared.statusBarFrame.height | |
| 16 | +var navigationBarHeight : CGFloat? | |
| 16 | 17 | let screenWidth = UIScreen.main.bounds.size.width | 
| 17 | 18 | let screenHeight = UIScreen.main.bounds.size.height | 
| 19 | +let backGroundColor = UIColor.init(red: 235/255, green: 235/255, blue: 241/255, alpha: 1) | |
| 18 | 20 | |
| 19 | 21 | //MARK: -------------------------- 接口地址 ---------------------------- | 
| 20 | 22 | let appsecret="sincere:3a530f39f99411b454e667d69693c127" | ... | ... | 
ParentAssistant/ParentAssistant/Classes/util/utils.swift
| ... | ... | @@ -574,10 +574,10 @@ extension UIViewController{ | 
| 574 | 574 | func configTheme(){ | 
| 575 | 575 | self.navigationItem.title=self.navigationController?.title | 
| 576 | 576 | self.navigationController?.navigationBar.barTintColor=Theme.topBarColor() | 
| 577 | - self.navigationController?.navigationBar.tintColor=UIColor.white | |
| 577 | + self.navigationController?.navigationBar.tintColor=UIColor.black | |
| 578 | 578 | self.navigationController?.navigationBar.isTranslucent=false | 
| 579 | 579 | let textAttributes = NSMutableDictionary(capacity:1) | 
| 580 | - textAttributes.setObject(UIColor.white, forKey: NSAttributedStringKey.foregroundColor as NSCopying) | |
| 580 | + textAttributes.setObject(UIColor.black, forKey: NSAttributedStringKey.foregroundColor as NSCopying) | |
| 581 | 581 | self.navigationController?.navigationBar.titleTextAttributes=textAttributes as! [AnyHashable: Any] as? [NSAttributedStringKey : Any] | 
| 582 | 582 | } | 
| 583 | 583 | ///套上UINavigationController | ... | ... |