Commit f015f8e347c045e07cd78ddfbc5ff495bfd7fb75

Authored by Cao yang
1 parent e7237aba
Exists in parentassistant

封装折线图空间,适配页面

ParentAssistant/ParentAssistant.xcodeproj/project.pbxproj
... ... @@ -32,9 +32,13 @@
32 32 5993652C20528D5700C8B371 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5993652B20528D5700C8B371 /* MainViewController.swift */; };
33 33 59C0A9B8205375F800A8BB5A /* SelectCityViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C0A9B7205375F800A8BB5A /* SelectCityViewController.swift */; };
34 34 9FB4F6F97960021FB4F02BBE /* Pods_ParentAssistant.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EEE742C2FA920AEDF24728 /* Pods_ParentAssistant.framework */; };
  35 + AD34D11A2064C79D00989F8D /* MoralDetailCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD34D1192064C79D00989F8D /* MoralDetailCell.swift */; };
  36 + AD34D11C2064C7AE00989F8D /* EducationDetailCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD34D11B2064C7AE00989F8D /* EducationDetailCell.swift */; };
  37 + AD34D11E2064C7C300989F8D /* BehaviorDetailCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD34D11D2064C7C300989F8D /* BehaviorDetailCell.swift */; };
35 38 AD65FB78206354220052415B /* MoralTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD65FB77206354220052415B /* MoralTableViewCell.swift */; };
36 39 AD65FB7A20637F110052415B /* MoralViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD65FB7920637F110052415B /* MoralViewController.swift */; };
37 40 ADAEA3982064960300A47D2C /* SceneDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAEA3972064960300A47D2C /* SceneDetailViewController.swift */; };
  41 + ADAEA39A2064C44900A47D2C /* LineChartView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAEA3992064C44900A47D2C /* LineChartView.swift */; };
38 42 ADE33B312062202300BEA6E6 /* Macro.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE33B302062202300BEA6E6 /* Macro.swift */; };
39 43 BF388469205A4DE900A240EF /* StudentClassInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF388468205A4DE900A240EF /* StudentClassInfo.swift */; };
40 44 BF38846C205A58F800A240EF /* YXMessageManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF38846B205A58F800A240EF /* YXMessageManager.swift */; };
... ... @@ -169,9 +173,13 @@
169 173 5993652B20528D5700C8B371 /* MainViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = "<group>"; };
170 174 59C0A9B7205375F800A8BB5A /* SelectCityViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectCityViewController.swift; sourceTree = "<group>"; };
171 175 A6EEE742C2FA920AEDF24728 /* Pods_ParentAssistant.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ParentAssistant.framework; sourceTree = BUILT_PRODUCTS_DIR; };
  176 + AD34D1192064C79D00989F8D /* MoralDetailCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoralDetailCell.swift; sourceTree = "<group>"; };
  177 + AD34D11B2064C7AE00989F8D /* EducationDetailCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EducationDetailCell.swift; sourceTree = "<group>"; };
  178 + AD34D11D2064C7C300989F8D /* BehaviorDetailCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BehaviorDetailCell.swift; sourceTree = "<group>"; };
172 179 AD65FB77206354220052415B /* MoralTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoralTableViewCell.swift; sourceTree = "<group>"; };
173 180 AD65FB7920637F110052415B /* MoralViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoralViewController.swift; sourceTree = "<group>"; };
174 181 ADAEA3972064960300A47D2C /* SceneDetailViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SceneDetailViewController.swift; sourceTree = "<group>"; };
  182 + ADAEA3992064C44900A47D2C /* LineChartView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LineChartView.swift; sourceTree = "<group>"; };
175 183 ADE33B302062202300BEA6E6 /* Macro.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Macro.swift; sourceTree = "<group>"; };
176 184 BF388468205A4DE900A240EF /* StudentClassInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StudentClassInfo.swift; sourceTree = "<group>"; };
177 185 BF38846B205A58F800A240EF /* YXMessageManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YXMessageManager.swift; sourceTree = "<group>"; };
... ... @@ -501,6 +509,10 @@
501 509 BFEAAAA8205248AC0072FAAF /* TaskPresentationTableViewCell.swift */,
502 510 BFEAAAAA205249B50072FAAF /* ReportDateCollectionViewCell.swift */,
503 511 AD65FB77206354220052415B /* MoralTableViewCell.swift */,
  512 + AD34D1192064C79D00989F8D /* MoralDetailCell.swift */,
  513 + AD34D11B2064C7AE00989F8D /* EducationDetailCell.swift */,
  514 + AD34D11D2064C7C300989F8D /* BehaviorDetailCell.swift */,
  515 + ADAEA3992064C44900A47D2C /* LineChartView.swift */,
504 516 );
505 517 path = View;
506 518 sourceTree = "<group>";
... ... @@ -933,6 +945,7 @@
933 945 599364EF204E62E700C8B371 /* MyTableViewCell.swift in Sources */,
934 946 BFF9B7EB205772E100F39B3E /* GetBackPasswordViewController.swift in Sources */,
935 947 BFF9B7F22057A28900F39B3E /* TableEmptyView.swift in Sources */,
  948 + ADAEA39A2064C44900A47D2C /* LineChartView.swift in Sources */,
936 949 BFBC06CA2063AE8900CCFAFF /* ZLaunchAdImageView.swift in Sources */,
937 950 BF406CE02057C708000A6681 /* OrderDetailCollectionViewCell.swift in Sources */,
938 951 BFBC06C52063AE8900CCFAFF /* ZLaunchAd.swift in Sources */,
... ... @@ -952,6 +965,7 @@
952 965 AD65FB7A20637F110052415B /* MoralViewController.swift in Sources */,
953 966 BFEAAAAB205249B50072FAAF /* ReportDateCollectionViewCell.swift in Sources */,
954 967 BFBC06C62063AE8900CCFAFF /* ZLaunchAdAnimation.swift in Sources */,
  968 + AD34D11E2064C7C300989F8D /* BehaviorDetailCell.swift in Sources */,
955 969 BFCED888205280B700055373 /* MyViewController.swift in Sources */,
956 970 AD65FB78206354220052415B /* MoralTableViewCell.swift in Sources */,
957 971 BF38846C205A58F800A240EF /* YXMessageManager.swift in Sources */,
... ... @@ -959,6 +973,7 @@
959 973 BFEAAAD820525D620072FAAF /* UILabel+LXLabel.m in Sources */,
960 974 59936527205231A500C8B371 /* BaseCityChooseSchoolViewController.swift in Sources */,
961 975 599364FB204E742000C8B371 /* ChannelSelectViewCollectionViewCell.swift in Sources */,
  976 + AD34D11A2064C79D00989F8D /* MoralDetailCell.swift in Sources */,
962 977 BFBC06C82063AE8900CCFAFF /* ZLaunchAdCache.swift in Sources */,
963 978 BFF9B7F62057A4C900F39B3E /* ChildrenDetailViewController.swift in Sources */,
964 979 599364FF204E945600C8B371 /* BindingViewController.swift in Sources */,
... ... @@ -968,6 +983,7 @@
968 983 BF406CDA2057BEB8000A6681 /* OrderDetailModel.swift in Sources */,
969 984 BFEAAAC6205257460072FAAF /* LXCalendarWeekView.m in Sources */,
970 985 590944E4205B8DB2004478B5 /* BindlingSuccessViewController.swift in Sources */,
  986 + AD34D11C2064C7AE00989F8D /* EducationDetailCell.swift in Sources */,
971 987 BFEAAAC2205257460072FAAF /* LXCalendarHearder.m in Sources */,
972 988 BFEAAAD920525D620072FAAF /* UIView+FTCornerdious.m in Sources */,
973 989 );
... ...
ParentAssistant/ParentAssistant.xcodeproj/xcuserdata/caoyang.xcuserdatad/xcschemes/xcschememanagement.plist
... ... @@ -7,7 +7,7 @@
7 7 <key>ParentAssistant.xcscheme</key>
8 8 <dict>
9 9 <key>orderHint</key>
10   - <integer>0</integer>
  10 + <integer>1</integer>
11 11 </dict>
12 12 </dict>
13 13 </dict>
... ...
ParentAssistant/ParentAssistant.xcworkspace/xcuserdata/caoyang.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
ParentAssistant/ParentAssistant/Classes/controllers/report/View/BehaviorDetailCell.swift 0 → 100644
... ... @@ -0,0 +1,24 @@
  1 +//
  2 +// BehaviorDetailCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/3/23.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class BehaviorDetailCell: UITableViewCell {
  12 +
  13 + override func awakeFromNib() {
  14 + super.awakeFromNib()
  15 + // Initialization code
  16 + }
  17 +
  18 + override func setSelected(_ selected: Bool, animated: Bool) {
  19 + super.setSelected(selected, animated: animated)
  20 +
  21 + // Configure the view for the selected state
  22 + }
  23 +
  24 +}
... ...
ParentAssistant/ParentAssistant/Classes/controllers/report/View/EducationDetailCell.swift 0 → 100644
... ... @@ -0,0 +1,43 @@
  1 +//
  2 +// EducationDetailCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/3/23.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class EducationDetailCell: UITableViewCell {
  12 +
  13 + @IBOutlet weak var lineChartView: UIView!
  14 + var customLineChart = LineChartView()
  15 +
  16 + override func awakeFromNib() {
  17 + super.awakeFromNib()
  18 + let rect = self.lineChartView.bounds
  19 + print(rect)
  20 + customLineChart = LineChartView.init(frame: rect)
  21 +
  22 + let arr1 = [4,4,2,1,3]
  23 + let arr2 = [2,1,4,4,5]
  24 + //65 105 190
  25 + //220 0 16
  26 + customLineChart.drawLine(point: arr1, color: UIColorWithRGB(R: 65, G: 105, B: 190))
  27 + customLineChart.drawLine(point: arr2, color: UIColorWithRGB(R: 220, G: 0, B: 16))
  28 +
  29 +
  30 +
  31 + self.lineChartView.addSubview(customLineChart)
  32 +
  33 +
  34 + // Initialization code
  35 + }
  36 +
  37 + override func setSelected(_ selected: Bool, animated: Bool) {
  38 + super.setSelected(selected, animated: animated)
  39 +
  40 + // Configure the view for the selected state
  41 + }
  42 +
  43 +}
... ...
ParentAssistant/ParentAssistant/Classes/controllers/report/View/LineChartView.swift 0 → 100644
... ... @@ -0,0 +1,143 @@
  1 +//
  2 +// LineChartView.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/3/23.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class LineChartView: UIView {
  12 +
  13 +
  14 + //自定义横坐标
  15 + var customXLabArr = Array<String>()
  16 +
  17 + //默认横坐标
  18 + private var xLabArr = ["行为","文明","课堂","作业","礼仪"]
  19 + //设置纵坐标
  20 + private let yCount = 6
  21 + //横坐标个数
  22 + private let xCount = 5
  23 + //最大绩点分数
  24 + private let GPA = 5
  25 + //储存横纵坐标,画线用
  26 + private var xCenterArr = Array<CGFloat>()
  27 + private var yCenterArr = Array<CGFloat>()
  28 +
  29 + override init(frame: CGRect) {
  30 + super.init(frame: frame)
  31 + print("frame==\(frame)")
  32 +
  33 + if customXLabArr.count>0 {
  34 + xLabArr = customXLabArr
  35 + }
  36 + drawX()
  37 + drawY()
  38 + }
  39 + //设置纵坐标
  40 + private func drawY() {
  41 + let yHeight = (self.bounds.height-20)/CGFloat(yCount)
  42 + for index in 0..<yCount{
  43 + let yLab = UILabel.init(frame: CGRect.init(x: 10, y: CGFloat(index)*yHeight, width: 20, height: 20))
  44 + yLab.text = "\(GPA-index)"
  45 + yLab.font = UIFont.systemFont(ofSize: 14)
  46 + self.addSubview(yLab)
  47 +
  48 + let lineLab = UILabel.init(frame: CGRect.init(x: 30, y: yLab.center.y, width: self.bounds.size.width-40, height: 0.5))
  49 + lineLab.backgroundColor = UIColor.lightGray
  50 + self.addSubview(lineLab)
  51 +
  52 + yCenterArr.append(yLab.frame.origin.y+10)
  53 + }
  54 + }
  55 + //设置横坐标
  56 + private func drawX() {
  57 + let xWidth = (self.bounds.width)/CGFloat(yCount)
  58 + for index in 0..<xCount {
  59 + let nameLab = UILabel.init(frame: CGRect.init(x: xWidth+CGFloat(index)*xWidth, y: self.bounds.height-30, width: 40, height: 20))
  60 + nameLab.text = xLabArr[index]
  61 + nameLab.font = UIFont.systemFont(ofSize: 14)
  62 + nameLab.textColor = UIColor.gray
  63 + self.addSubview(nameLab)
  64 +
  65 + xCenterArr.append(nameLab.frame.origin.x+20)
  66 + }
  67 + }
  68 +
  69 + //Mark: - 画折线
  70 + func drawLine(point:Array<Int>,color:UIColor){
  71 +
  72 + let pointArr = swichPoint(arr: point)
  73 + let drawLayer = DrawLayer()
  74 + drawLayer.xPointArr = xCenterArr
  75 + drawLayer.yPointArr = [yCenterArr[pointArr[0]],yCenterArr[pointArr[1]],yCenterArr[pointArr[2]],yCenterArr[pointArr[3]],yCenterArr[pointArr[4]]]
  76 + drawLayer.bounds = self.bounds
  77 + drawLayer.position = self.center
  78 + drawLayer.lineColor = color
  79 + drawLayer.setNeedsDisplay()
  80 + self.layer.addSublayer(drawLayer)
  81 + }
  82 + //MARK: - 画竖线
  83 +
  84 + //MARK: - 特定横坐标颜色,下划线
  85 +
  86 + //转换y坐标
  87 + func swichPoint(arr:Array<Int>)->Array<Int>{
  88 + var array = Array<Int>()
  89 + for index in 0..<arr.count {
  90 + let value = GPA - arr[index]
  91 + array.append(value)
  92 + }
  93 + return array
  94 + }
  95 +
  96 + required init?(coder aDecoder: NSCoder) {
  97 + fatalError("init(coder:) has not been implemented")
  98 + }
  99 +
  100 + /*
  101 + // Only override draw() if you perform custom drawing.
  102 + // An empty implementation adversely affects performance during animation.
  103 + override func draw(_ rect: CGRect) {
  104 + // Drawing code
  105 + }
  106 + */
  107 +
  108 +}
  109 +
  110 +class DrawLayer: CALayer {
  111 +
  112 + var yPointArr = Array<CGFloat>()
  113 + var xPointArr = Array<CGFloat>()
  114 + var lineColor = UIColor()
  115 +
  116 + override func draw(in ctx: CGContext) {
  117 +
  118 + let context = ctx
  119 + //点
  120 + context.setFillColor(lineColor.cgColor)
  121 +
  122 + for i in 0..<xPointArr.count {
  123 + context.fillEllipse(in: CGRect.init(x: xPointArr[i]-5, y: yPointArr[i]-5, width: 10, height: 10))
  124 +
  125 + }
  126 +
  127 + //折线
  128 + context.setStrokeColor(lineColor.cgColor)
  129 + context.setLineWidth(1)
  130 + for i in 0..<xPointArr.count {
  131 + if i == 0 {
  132 + context.move(to: CGPoint.init(x: xPointArr[0] , y: yPointArr[0]))
  133 + }else{
  134 + context.addLine(to: CGPoint.init(x: xPointArr[i] , y: yPointArr[i]))
  135 + }
  136 + }
  137 + context.strokePath()
  138 + }
  139 +
  140 +
  141 +}
  142 +
  143 +
... ...
ParentAssistant/ParentAssistant/Classes/controllers/report/View/MoralDetailCell.swift 0 → 100644
... ... @@ -0,0 +1,32 @@
  1 +//
  2 +// MoralDetailCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/3/23.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class MoralDetailCell: UITableViewCell {
  12 +
  13 + @IBOutlet weak var dateLab: UILabel!
  14 + @IBOutlet weak var pointLab: UILabel!
  15 + @IBOutlet weak var rankingLab: UILabel!
  16 + @IBOutlet weak var risingLab: UILabel!
  17 + @IBOutlet weak var risingRightLab: UILabel!
  18 + @IBOutlet weak var averageLab: UILabel!
  19 + @IBOutlet weak var averageRightLab: UILabel!
  20 + @IBOutlet weak var evaluationLab: UILabel!
  21 + override func awakeFromNib() {
  22 + super.awakeFromNib()
  23 + // Initialization code
  24 + }
  25 +
  26 + override func setSelected(_ selected: Bool, animated: Bool) {
  27 + super.setSelected(selected, animated: animated)
  28 +
  29 + // Configure the view for the selected state
  30 + }
  31 +
  32 +}
... ...
ParentAssistant/ParentAssistant/Classes/util/Macro.swift
... ... @@ -7,7 +7,7 @@
7 7 //
8 8  
9 9 import Foundation
10   -
  10 +import UIKit
11 11 //全局变量
12 12  
13 13 let appDelegate = UIApplication.shared.delegate as! AppDelegate
... ... @@ -16,3 +16,4 @@ let screenWidth = UIScreen.main.bounds.size.width
16 16 let screenHeight = UIScreen.main.bounds.size.height
17 17  
18 18  
  19 +
... ...
ParentAssistant/ParentAssistant/Classes/util/utils.swift
... ... @@ -360,6 +360,9 @@ func UIColorFromRGB(_ rgbValue: UInt) -&gt; UIColor {
360 360 alpha: CGFloat(1.0)
361 361 )
362 362 }
  363 +func UIColorWithRGB(R:CGFloat,G:CGFloat,B:CGFloat)-> UIColor {
  364 + return UIColor.init(red: R/255.0, green: G/255.0, blue: B/255.0, alpha: 1)
  365 +}
363 366 func getCurrentDate()->String{
364 367 let dateFormat=DateFormatter()
365 368 dateFormat.dateFormat="M月d日"
... ...
ParentAssistant/ParentAssistant/Supporting Files/Base.lproj/Main.storyboard
... ... @@ -837,7 +837,7 @@
837 837 <rect key="frame" x="0.0" y="64" width="375" height="544"/>
838 838 <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
839 839 <prototypes>
840   - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="moralDetail" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="moralDetail" rowHeight="280" id="edU-Xp-UQN">
  840 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="moralDetail" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="moralDetail" rowHeight="280" id="edU-Xp-UQN" customClass="MoralDetailCell" customModule="ParentAssistant" customModuleProvider="target">
841 841 <rect key="frame" x="0.0" y="28" width="375" height="280"/>
842 842 <autoresizingMask key="autoresizingMask"/>
843 843 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="edU-Xp-UQN" id="jbp-VT-wz9">
... ... @@ -845,96 +845,64 @@
845 845 <autoresizingMask key="autoresizingMask"/>
846 846 <subviews>
847 847 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="NuA-yM-hGe">
848   - <rect key="frame" x="10" y="10" width="355" height="269.5"/>
  848 + <rect key="frame" x="10" y="10" width="355" height="270"/>
849 849 <subviews>
850 850 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="EcR-iO-zzH">
851   - <rect key="frame" x="0.0" y="0.0" width="355" height="269.5"/>
  851 + <rect key="frame" x="0.0" y="0.0" width="355" height="270"/>
852 852 <color key="backgroundColor" red="0.22575283050537109" green="0.73064249753952026" blue="0.92262524366378784" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
853 853 </imageView>
854   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="德育得分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kJr-OQ-uJV">
855   - <rect key="frame" x="10" y="20" width="150" height="20"/>
856   - <constraints>
857   - <constraint firstAttribute="width" constant="150" id="ehO-8n-FwU"/>
858   - <constraint firstAttribute="height" constant="20" id="pYD-aW-6Bk"/>
859   - </constraints>
  854 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="德育得分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kJr-OQ-uJV">
  855 + <rect key="frame" x="40" y="20" width="66" height="20"/>
860 856 <fontDescription key="fontDescription" type="system" pointSize="16"/>
861 857 <color key="textColor" red="0.051375745996832825" green="0.16511302134149486" blue="0.45782439720812185" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
862 858 <color key="highlightedColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
863 859 </label>
864   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="4.3分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pPw-dt-Xzf">
865   - <rect key="frame" x="10" y="60" width="150" height="40"/>
866   - <constraints>
867   - <constraint firstAttribute="height" constant="40" id="ecz-CY-03C"/>
868   - <constraint firstAttribute="width" constant="150" id="phe-N0-aq1"/>
869   - </constraints>
  860 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="4.3分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pPw-dt-Xzf">
  861 + <rect key="frame" x="31.5" y="50" width="83" height="40"/>
870 862 <fontDescription key="fontDescription" type="system" pointSize="33"/>
871 863 <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
872 864 <color key="highlightedColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
873 865 </label>
874   - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="第三名" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XKn-CP-eGk">
875   - <rect key="frame" x="195" y="60" width="150" height="40"/>
876   - <constraints>
877   - <constraint firstAttribute="height" constant="40" id="OVL-Dm-D0P"/>
878   - <constraint firstAttribute="width" constant="150" id="nQl-2f-7Gr"/>
879   - </constraints>
  866 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="第三名" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XKn-CP-eGk">
  867 + <rect key="frame" x="222.5" y="50" width="100" height="40"/>
880 868 <fontDescription key="fontDescription" type="system" pointSize="33"/>
881 869 <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
882 870 <nil key="highlightedColor"/>
883 871 </label>
884 872 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="同期上升1.1分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hkb-po-YgG">
885   - <rect key="frame" x="10" y="130" width="150" height="20"/>
886   - <constraints>
887   - <constraint firstAttribute="width" constant="150" id="PSD-YN-C3a"/>
888   - <constraint firstAttribute="height" constant="20" id="ZOa-PU-3Kb"/>
889   - </constraints>
  873 + <rect key="frame" x="23" y="110" width="100" height="20"/>
890 874 <fontDescription key="fontDescription" type="system" pointSize="16"/>
891 875 <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
892 876 <nil key="highlightedColor"/>
893 877 </label>
894 878 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="同期上升5名" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="loz-6S-4SZ">
895   - <rect key="frame" x="195" y="130" width="150" height="20"/>
896   - <constraints>
897   - <constraint firstAttribute="height" constant="20" id="EYX-fX-sIC"/>
898   - <constraint firstAttribute="width" constant="150" id="H2n-Eb-L5g"/>
899   - </constraints>
  879 + <rect key="frame" x="226.5" y="110" width="92" height="20"/>
900 880 <fontDescription key="fontDescription" type="system" pointSize="16"/>
901 881 <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
902 882 <nil key="highlightedColor"/>
903 883 </label>
904 884 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2018年03月03号" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HhW-z2-zvL">
905   - <rect key="frame" x="195" y="20" width="150" height="20"/>
906   - <constraints>
907   - <constraint firstAttribute="height" constant="20" id="MyS-ul-F5h"/>
908   - <constraint firstAttribute="width" constant="150" id="hWE-h6-b8M"/>
909   - </constraints>
  885 + <rect key="frame" x="210" y="20" width="125" height="20"/>
910 886 <fontDescription key="fontDescription" type="system" pointSize="16"/>
911 887 <color key="textColor" red="0.04378364389881239" green="0.14071327995740801" blue="0.3901689403553299" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
912 888 <color key="highlightedColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
913 889 </label>
914 890 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="高于平均分1.1分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Fxg-5d-gP4">
915   - <rect key="frame" x="10" y="155" width="150" height="20"/>
916   - <constraints>
917   - <constraint firstAttribute="width" constant="150" id="FeR-Ix-FqW"/>
918   - <constraint firstAttribute="height" constant="20" id="GTU-T7-oLp"/>
919   - </constraints>
  891 + <rect key="frame" x="22" y="140" width="102" height="17"/>
920 892 <fontDescription key="fontDescription" type="system" pointSize="14"/>
921 893 <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
922 894 <nil key="highlightedColor"/>
923 895 </label>
924 896 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="高于平均排名1.1名" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cKB-Hn-Ran">
925   - <rect key="frame" x="195" y="155" width="150" height="20"/>
926   - <constraints>
927   - <constraint firstAttribute="height" constant="20" id="lfE-0K-A9n"/>
928   - <constraint firstAttribute="width" constant="150" id="oeR-dB-6G7"/>
929   - </constraints>
  897 + <rect key="frame" x="214.5" y="140" width="116" height="17"/>
930 898 <fontDescription key="fontDescription" type="system" pointSize="14"/>
931 899 <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
932 900 <nil key="highlightedColor"/>
933 901 </label>
934 902 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="哎哟不错哦,德育评价打败了33%的同学!注意行为规范将更上一层楼" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6hf-ET-tXW">
935   - <rect key="frame" x="25" y="200" width="305" height="40"/>
  903 + <rect key="frame" x="20" y="197" width="315" height="40"/>
936 904 <constraints>
937   - <constraint firstAttribute="height" constant="40" id="4an-We-6oF"/>
  905 + <constraint firstAttribute="height" constant="40" id="psR-HE-T23"/>
938 906 </constraints>
939 907 <fontDescription key="fontDescription" type="system" pointSize="16"/>
940 908 <color key="textColor" red="0.09198654443025589" green="0.17189717292785645" blue="0.63014686107635498" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
... ... @@ -943,29 +911,29 @@
943 911 </subviews>
944 912 <color key="backgroundColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
945 913 <constraints>
946   - <constraint firstAttribute="trailing" secondItem="6hf-ET-tXW" secondAttribute="trailing" constant="25" id="3ik-Ae-MBR"/>
947   - <constraint firstItem="6hf-ET-tXW" firstAttribute="top" secondItem="Fxg-5d-gP4" secondAttribute="bottom" constant="25" id="3kK-BI-E7G"/>
948   - <constraint firstItem="6hf-ET-tXW" firstAttribute="leading" secondItem="NuA-yM-hGe" secondAttribute="leading" constant="25" id="61S-HQ-Lix"/>
949   - <constraint firstAttribute="trailing" secondItem="HhW-z2-zvL" secondAttribute="trailing" constant="10" id="6Xn-wl-fPU"/>
950   - <constraint firstAttribute="bottom" secondItem="EcR-iO-zzH" secondAttribute="bottom" id="GlV-P3-AYa"/>
951   - <constraint firstAttribute="trailing" secondItem="loz-6S-4SZ" secondAttribute="trailing" constant="10" id="KnQ-zl-nh0"/>
952   - <constraint firstItem="Fxg-5d-gP4" firstAttribute="leading" secondItem="NuA-yM-hGe" secondAttribute="leading" constant="10" id="MQL-ow-v7B"/>
953   - <constraint firstAttribute="trailing" secondItem="XKn-CP-eGk" secondAttribute="trailing" constant="10" id="OVT-BE-qZU"/>
954   - <constraint firstItem="kJr-OQ-uJV" firstAttribute="top" secondItem="NuA-yM-hGe" secondAttribute="top" constant="20" id="SVF-97-3ty"/>
955   - <constraint firstAttribute="trailing" secondItem="cKB-Hn-Ran" secondAttribute="trailing" constant="10" id="Tqe-wB-7Ks"/>
956   - <constraint firstItem="loz-6S-4SZ" firstAttribute="top" secondItem="XKn-CP-eGk" secondAttribute="bottom" constant="30" id="UY4-Mp-GY1"/>
957   - <constraint firstItem="pPw-dt-Xzf" firstAttribute="leading" secondItem="NuA-yM-hGe" secondAttribute="leading" constant="10" id="WRZ-Sg-8Io"/>
958   - <constraint firstItem="XKn-CP-eGk" firstAttribute="top" secondItem="HhW-z2-zvL" secondAttribute="bottom" constant="20" id="XHI-iQ-hS6"/>
959   - <constraint firstItem="Fxg-5d-gP4" firstAttribute="top" secondItem="hkb-po-YgG" secondAttribute="bottom" constant="5" id="bPx-MS-bTs"/>
960   - <constraint firstAttribute="trailing" secondItem="EcR-iO-zzH" secondAttribute="trailing" id="o9W-f1-P8e"/>
961   - <constraint firstItem="EcR-iO-zzH" firstAttribute="leading" secondItem="NuA-yM-hGe" secondAttribute="leading" id="pPG-PU-KdZ"/>
962   - <constraint firstItem="cKB-Hn-Ran" firstAttribute="top" secondItem="loz-6S-4SZ" secondAttribute="bottom" constant="5" id="stC-Nx-eCo"/>
963   - <constraint firstItem="HhW-z2-zvL" firstAttribute="top" secondItem="NuA-yM-hGe" secondAttribute="top" constant="20" id="tFo-Gh-mJI"/>
964   - <constraint firstItem="kJr-OQ-uJV" firstAttribute="leading" secondItem="NuA-yM-hGe" secondAttribute="leading" constant="10" id="taH-71-uDr"/>
965   - <constraint firstItem="hkb-po-YgG" firstAttribute="top" secondItem="pPw-dt-Xzf" secondAttribute="bottom" constant="30" id="uZE-jY-V01"/>
966   - <constraint firstItem="pPw-dt-Xzf" firstAttribute="top" secondItem="kJr-OQ-uJV" secondAttribute="bottom" constant="20" id="wND-7I-9QN"/>
967   - <constraint firstItem="hkb-po-YgG" firstAttribute="leading" secondItem="NuA-yM-hGe" secondAttribute="leading" constant="10" id="y3J-WD-A7Y"/>
968   - <constraint firstItem="EcR-iO-zzH" firstAttribute="top" secondItem="NuA-yM-hGe" secondAttribute="top" id="z7e-OZ-Z85"/>
  914 + <constraint firstAttribute="trailing" secondItem="6hf-ET-tXW" secondAttribute="trailing" constant="20" id="2Tj-Ve-WtW"/>
  915 + <constraint firstItem="kJr-OQ-uJV" firstAttribute="top" secondItem="NuA-yM-hGe" secondAttribute="top" constant="20" id="502-cT-UfL"/>
  916 + <constraint firstItem="pPw-dt-Xzf" firstAttribute="centerX" secondItem="kJr-OQ-uJV" secondAttribute="centerX" id="AzG-TO-CG2"/>
  917 + <constraint firstItem="cKB-Hn-Ran" firstAttribute="top" secondItem="loz-6S-4SZ" secondAttribute="bottom" constant="10" id="BDo-p2-BtV"/>
  918 + <constraint firstItem="XKn-CP-eGk" firstAttribute="top" secondItem="HhW-z2-zvL" secondAttribute="bottom" constant="10" id="BGy-UG-tlR"/>
  919 + <constraint firstItem="EcR-iO-zzH" firstAttribute="top" secondItem="NuA-yM-hGe" secondAttribute="top" id="KHa-7w-P6J"/>
  920 + <constraint firstItem="cKB-Hn-Ran" firstAttribute="centerX" secondItem="XKn-CP-eGk" secondAttribute="centerX" id="Pi8-gc-a9g"/>
  921 + <constraint firstItem="HhW-z2-zvL" firstAttribute="trailing" secondItem="NuA-yM-hGe" secondAttribute="trailing" constant="-20" id="SlW-1a-fii"/>
  922 + <constraint firstItem="loz-6S-4SZ" firstAttribute="top" secondItem="XKn-CP-eGk" secondAttribute="bottom" constant="20" id="Wyn-HL-kAX"/>
  923 + <constraint firstItem="Fxg-5d-gP4" firstAttribute="centerX" secondItem="pPw-dt-Xzf" secondAttribute="centerX" id="XJq-vE-dEe"/>
  924 + <constraint firstItem="pPw-dt-Xzf" firstAttribute="top" secondItem="kJr-OQ-uJV" secondAttribute="bottom" constant="10" id="Zq8-G2-nmf"/>
  925 + <constraint firstAttribute="bottom" secondItem="EcR-iO-zzH" secondAttribute="bottom" id="bD2-Ic-8FB"/>
  926 + <constraint firstItem="XKn-CP-eGk" firstAttribute="centerX" secondItem="HhW-z2-zvL" secondAttribute="centerX" id="cJf-Oy-8XW"/>
  927 + <constraint firstItem="6hf-ET-tXW" firstAttribute="leading" secondItem="NuA-yM-hGe" secondAttribute="leading" constant="20" id="chf-Pk-BRe"/>
  928 + <constraint firstItem="Fxg-5d-gP4" firstAttribute="top" secondItem="hkb-po-YgG" secondAttribute="bottom" constant="10" id="eD6-Pf-fxG"/>
  929 + <constraint firstItem="hkb-po-YgG" firstAttribute="centerX" secondItem="pPw-dt-Xzf" secondAttribute="centerX" id="eDy-jJ-L7w"/>
  930 + <constraint firstItem="EcR-iO-zzH" firstAttribute="leading" secondItem="NuA-yM-hGe" secondAttribute="leading" id="gmn-23-uqR"/>
  931 + <constraint firstAttribute="trailing" secondItem="EcR-iO-zzH" secondAttribute="trailing" id="jgC-VC-Bdn"/>
  932 + <constraint firstItem="kJr-OQ-uJV" firstAttribute="leading" secondItem="NuA-yM-hGe" secondAttribute="leading" constant="40" id="mO7-dF-5MB"/>
  933 + <constraint firstItem="hkb-po-YgG" firstAttribute="top" secondItem="pPw-dt-Xzf" secondAttribute="bottom" constant="20" id="obS-hd-z9K"/>
  934 + <constraint firstItem="6hf-ET-tXW" firstAttribute="top" secondItem="Fxg-5d-gP4" secondAttribute="bottom" constant="40" id="q0U-qj-DJO"/>
  935 + <constraint firstItem="HhW-z2-zvL" firstAttribute="top" secondItem="NuA-yM-hGe" secondAttribute="top" constant="20" id="q7J-cI-IMF"/>
  936 + <constraint firstItem="loz-6S-4SZ" firstAttribute="centerX" secondItem="XKn-CP-eGk" secondAttribute="centerX" id="yfa-jP-3Zs"/>
969 937 </constraints>
970 938 <userDefinedRuntimeAttributes>
971 939 <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
... ... @@ -983,8 +951,18 @@
983 951 <constraint firstAttribute="trailing" secondItem="NuA-yM-hGe" secondAttribute="trailing" constant="10" id="yoB-4L-JH6"/>
984 952 </constraints>
985 953 </tableViewCellContentView>
  954 + <connections>
  955 + <outlet property="averageLab" destination="Fxg-5d-gP4" id="PFD-GF-Iz9"/>
  956 + <outlet property="averageRightLab" destination="cKB-Hn-Ran" id="kVz-qO-3MA"/>
  957 + <outlet property="dateLab" destination="HhW-z2-zvL" id="0hV-UV-IFc"/>
  958 + <outlet property="evaluationLab" destination="6hf-ET-tXW" id="gJ4-6w-ie9"/>
  959 + <outlet property="pointLab" destination="pPw-dt-Xzf" id="Mi5-Rt-pXT"/>
  960 + <outlet property="rankingLab" destination="XKn-CP-eGk" id="Okq-ba-4fm"/>
  961 + <outlet property="risingLab" destination="hkb-po-YgG" id="c3d-Us-Dr0"/>
  962 + <outlet property="risingRightLab" destination="loz-6S-4SZ" id="CMk-Ho-lDv"/>
  963 + </connections>
986 964 </tableViewCell>
987   - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="educationDetail" rowHeight="280" id="cT9-nd-Syd">
  965 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="educationDetail" rowHeight="280" id="cT9-nd-Syd" customClass="EducationDetailCell" customModule="ParentAssistant" customModuleProvider="target">
988 966 <rect key="frame" x="0.0" y="308" width="375" height="280"/>
989 967 <autoresizingMask key="autoresizingMask"/>
990 968 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="cT9-nd-Syd" id="GQz-Gg-SDo">
... ... @@ -998,20 +976,18 @@
998 976 <rect key="frame" x="50" y="15" width="255" height="44"/>
999 977 <subviews>
1000 978 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="今日" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hB5-yY-cds">
1001   - <rect key="frame" x="36" y="0.0" width="40" height="44"/>
  979 + <rect key="frame" x="36" y="0.0" width="35" height="44"/>
1002 980 <constraints>
1003 981 <constraint firstAttribute="height" constant="44" id="ba9-GG-6DC"/>
1004   - <constraint firstAttribute="width" constant="40" id="gas-Ds-v8t"/>
1005 982 </constraints>
1006 983 <fontDescription key="fontDescription" type="system" pointSize="17"/>
1007 984 <nil key="textColor"/>
1008 985 <nil key="highlightedColor"/>
1009 986 </label>
1010 987 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="昨日" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vbT-TJ-Rlx">
1011   - <rect key="frame" x="205" y="0.0" width="40" height="44"/>
  988 + <rect key="frame" x="210" y="0.0" width="35" height="44"/>
1012 989 <constraints>
1013 990 <constraint firstAttribute="height" constant="44" id="0Qq-BR-OZ6"/>
1014   - <constraint firstAttribute="width" constant="40" id="7OQ-uj-VsT"/>
1015 991 </constraints>
1016 992 <fontDescription key="fontDescription" type="system" pointSize="17"/>
1017 993 <nil key="textColor"/>
... ... @@ -1019,7 +995,7 @@
1019 995 </label>
1020 996 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="g2l-9v-6mj">
1021 997 <rect key="frame" x="10" y="14" width="16" height="16"/>
1022   - <color key="backgroundColor" red="0.12355335801839828" green="0.57626670598983765" blue="0.94167101383209229" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  998 + <color key="backgroundColor" red="0.25490196078431371" green="0.41176470588235292" blue="0.74509803921568629" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
1023 999 <constraints>
1024 1000 <constraint firstAttribute="width" constant="16" id="7Uu-Sj-DgF"/>
1025 1001 <constraint firstAttribute="height" constant="16" id="ZLo-3g-2uU"/>
... ... @@ -1032,8 +1008,8 @@
1032 1008 </userDefinedRuntimeAttributes>
1033 1009 </view>
1034 1010 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="woJ-aK-qdt">
1035   - <rect key="frame" x="179" y="14" width="16" height="16"/>
1036   - <color key="backgroundColor" red="0.96772700548171997" green="0.051271520555019379" blue="0.24591821432113647" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  1011 + <rect key="frame" x="184" y="14" width="16" height="16"/>
  1012 + <color key="backgroundColor" red="0.86274509803921573" green="0.0" blue="0.062745098039215685" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
1037 1013 <constraints>
1038 1014 <constraint firstAttribute="width" constant="16" id="KqF-Oh-IfA"/>
1039 1015 <constraint firstAttribute="height" constant="16" id="YHQ-d0-qVM"/>
... ... @@ -1057,28 +1033,22 @@
1057 1033 <constraint firstItem="g2l-9v-6mj" firstAttribute="leading" secondItem="BAf-AK-gLj" secondAttribute="leading" constant="10" id="fWJ-vl-IYK"/>
1058 1034 <constraint firstItem="woJ-aK-qdt" firstAttribute="top" secondItem="BAf-AK-gLj" secondAttribute="top" constant="14" id="ipM-hU-2vL"/>
1059 1035 <constraint firstItem="hB5-yY-cds" firstAttribute="leading" secondItem="g2l-9v-6mj" secondAttribute="trailing" constant="10" id="k53-ly-Ddj"/>
  1036 + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="hB5-yY-cds" secondAttribute="trailing" constant="20" symbolic="YES" id="nbQ-l7-6mG"/>
1060 1037 </constraints>
1061 1038 </view>
1062   - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3tc-50-XKr">
1063   - <rect key="frame" x="10" y="74" width="335" height="175.5"/>
  1039 + <view contentMode="scaleToFill" restorationIdentifier="moralLineChart" translatesAutoresizingMaskIntoConstraints="NO" id="3tc-50-XKr">
  1040 + <rect key="frame" x="0.0" y="59" width="355" height="210.5"/>
1064 1041 </view>
1065   - <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="test001" translatesAutoresizingMaskIntoConstraints="NO" id="O2Z-FA-5ZF">
1066   - <rect key="frame" x="10" y="59" width="335" height="210.5"/>
1067   - </imageView>
1068 1042 </subviews>
1069 1043 <color key="backgroundColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
1070 1044 <constraints>
1071   - <constraint firstAttribute="trailing" secondItem="O2Z-FA-5ZF" secondAttribute="trailing" constant="10" id="DPu-FE-JAV"/>
1072 1045 <constraint firstItem="BAf-AK-gLj" firstAttribute="top" secondItem="vXo-Fa-6Hr" secondAttribute="top" constant="15" id="EdB-30-jd8"/>
1073 1046 <constraint firstItem="BAf-AK-gLj" firstAttribute="leading" secondItem="vXo-Fa-6Hr" secondAttribute="leading" constant="50" id="Foc-Ql-7UA"/>
1074   - <constraint firstItem="3tc-50-XKr" firstAttribute="leading" secondItem="vXo-Fa-6Hr" secondAttribute="leading" constant="10" id="LKH-Xf-sSi"/>
  1047 + <constraint firstItem="3tc-50-XKr" firstAttribute="leading" secondItem="vXo-Fa-6Hr" secondAttribute="leading" id="LKH-Xf-sSi"/>
1075 1048 <constraint firstAttribute="trailing" secondItem="BAf-AK-gLj" secondAttribute="trailing" constant="50" id="NKu-wo-SUP"/>
1076   - <constraint firstItem="O2Z-FA-5ZF" firstAttribute="leading" secondItem="vXo-Fa-6Hr" secondAttribute="leading" constant="10" id="Wh4-Qh-X9L"/>
1077   - <constraint firstAttribute="trailing" secondItem="3tc-50-XKr" secondAttribute="trailing" constant="10" id="bjx-CV-I0v"/>
1078   - <constraint firstAttribute="bottom" secondItem="3tc-50-XKr" secondAttribute="bottom" constant="20" id="f0z-WO-LfT"/>
1079   - <constraint firstItem="3tc-50-XKr" firstAttribute="top" secondItem="BAf-AK-gLj" secondAttribute="bottom" constant="15" id="jZe-ix-tAh"/>
1080   - <constraint firstAttribute="bottom" secondItem="O2Z-FA-5ZF" secondAttribute="bottom" id="p19-s9-iKS"/>
1081   - <constraint firstItem="O2Z-FA-5ZF" firstAttribute="top" secondItem="BAf-AK-gLj" secondAttribute="bottom" id="swb-4Y-nCM"/>
  1049 + <constraint firstAttribute="trailing" secondItem="3tc-50-XKr" secondAttribute="trailing" id="bjx-CV-I0v"/>
  1050 + <constraint firstAttribute="bottom" secondItem="3tc-50-XKr" secondAttribute="bottom" id="f0z-WO-LfT"/>
  1051 + <constraint firstItem="3tc-50-XKr" firstAttribute="top" secondItem="BAf-AK-gLj" secondAttribute="bottom" id="jZe-ix-tAh"/>
1082 1052 </constraints>
1083 1053 <userDefinedRuntimeAttributes>
1084 1054 <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
... ... @@ -1096,8 +1066,11 @@
1096 1066 <constraint firstAttribute="trailing" secondItem="vXo-Fa-6Hr" secondAttribute="trailing" constant="10" id="w6L-OF-ikb"/>
1097 1067 </constraints>
1098 1068 </tableViewCellContentView>
  1069 + <connections>
  1070 + <outlet property="lineChartView" destination="3tc-50-XKr" id="3V4-XW-IX3"/>
  1071 + </connections>
1099 1072 </tableViewCell>
1100   - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="behaviorDetail" rowHeight="100" id="LSs-xC-on7">
  1073 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="behaviorDetail" rowHeight="100" id="LSs-xC-on7" customClass="BehaviorDetailCell" customModule="ParentAssistant" customModuleProvider="target">
1101 1074 <rect key="frame" x="0.0" y="588" width="375" height="100"/>
1102 1075 <autoresizingMask key="autoresizingMask"/>
1103 1076 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="LSs-xC-on7" id="g4b-AE-z0B">
... ... @@ -1108,19 +1081,17 @@
1108 1081 <rect key="frame" x="10" y="10" width="355" height="89.5"/>
1109 1082 <subviews>
1110 1083 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="绩点: 4.3 增长1.1分" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HOj-hC-AHs">
1111   - <rect key="frame" x="10" y="40" width="150" height="20"/>
  1084 + <rect key="frame" x="10" y="40" width="143.5" height="20"/>
1112 1085 <constraints>
1113 1086 <constraint firstAttribute="height" constant="20" id="3zD-IC-3oi"/>
1114   - <constraint firstAttribute="width" constant="150" id="PiM-cg-aJj"/>
1115 1087 </constraints>
1116 1088 <fontDescription key="fontDescription" type="system" pointSize="17"/>
1117 1089 <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.5" colorSpace="custom" customColorSpace="sRGB"/>
1118 1090 <nil key="highlightedColor"/>
1119 1091 </label>
1120 1092 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="A-" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dcR-3E-z4e">
1121   - <rect key="frame" x="305" y="10" width="40" height="30"/>
  1093 + <rect key="frame" x="323" y="10" width="22" height="30"/>
1122 1094 <constraints>
1123   - <constraint firstAttribute="width" constant="40" id="oo5-nm-jVN"/>
1124 1095 <constraint firstAttribute="height" constant="30" id="yIL-7E-thg"/>
1125 1096 </constraints>
1126 1097 <fontDescription key="fontDescription" type="system" pointSize="20"/>
... ... @@ -1128,9 +1099,8 @@
1128 1099 <nil key="highlightedColor"/>
1129 1100 </label>
1130 1101 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="排名:第三名 增长1名" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pKi-l3-fED">
1131   - <rect key="frame" x="180" y="40" width="160" height="20"/>
  1102 + <rect key="frame" x="180" y="40" width="155.5" height="20"/>
1132 1103 <constraints>
1133   - <constraint firstAttribute="width" constant="160" id="UOX-Yq-UNc"/>
1134 1104 <constraint firstAttribute="height" constant="20" id="wAx-AC-wB7"/>
1135 1105 </constraints>
1136 1106 <fontDescription key="fontDescription" type="system" pointSize="17"/>
... ... @@ -1138,9 +1108,8 @@
1138 1108 <nil key="highlightedColor"/>
1139 1109 </label>
1140 1110 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="行为规范" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="i3X-WD-17R">
1141   - <rect key="frame" x="10" y="10" width="100" height="20"/>
  1111 + <rect key="frame" x="10" y="10" width="77.5" height="20"/>
1142 1112 <constraints>
1143   - <constraint firstAttribute="width" constant="100" id="K6t-dE-Yqh"/>
1144 1113 <constraint firstAttribute="height" constant="20" id="tkD-27-2zS"/>
1145 1114 </constraints>
1146 1115 <fontDescription key="fontDescription" type="system" pointSize="19"/>
... ... @@ -1150,10 +1119,13 @@
1150 1119 </subviews>
1151 1120 <color key="backgroundColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
1152 1121 <constraints>
  1122 + <constraint firstItem="dcR-3E-z4e" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="3Qp-zh-xwy" secondAttribute="leading" constant="20" symbolic="YES" id="5IH-UD-w2m"/>
1153 1123 <constraint firstItem="HOj-hC-AHs" firstAttribute="leading" secondItem="3Qp-zh-xwy" secondAttribute="leading" constant="10" id="95i-QX-Y3F"/>
1154 1124 <constraint firstAttribute="trailing" secondItem="dcR-3E-z4e" secondAttribute="trailing" constant="10" id="Cd3-4P-wa1"/>
  1125 + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="i3X-WD-17R" secondAttribute="trailing" constant="20" symbolic="YES" id="D15-ex-oBf"/>
1155 1126 <constraint firstItem="dcR-3E-z4e" firstAttribute="top" secondItem="3Qp-zh-xwy" secondAttribute="top" constant="10" id="EaB-NF-flN"/>
1156   - <constraint firstItem="pKi-l3-fED" firstAttribute="leading" secondItem="HOj-hC-AHs" secondAttribute="trailing" constant="20" id="NTX-lO-8rF"/>
  1127 + <constraint firstAttribute="trailing" secondItem="pKi-l3-fED" secondAttribute="trailing" constant="19.5" id="IQP-7C-QZV"/>
  1128 + <constraint firstItem="pKi-l3-fED" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="HOj-hC-AHs" secondAttribute="trailing" symbolic="YES" id="NTX-lO-8rF"/>
1157 1129 <constraint firstItem="i3X-WD-17R" firstAttribute="leading" secondItem="3Qp-zh-xwy" secondAttribute="leading" constant="10" id="WQn-HK-HqW"/>
1158 1130 <constraint firstItem="HOj-hC-AHs" firstAttribute="top" secondItem="i3X-WD-17R" secondAttribute="bottom" constant="10" id="fQp-g2-GfI"/>
1159 1131 <constraint firstItem="pKi-l3-fED" firstAttribute="top" secondItem="dcR-3E-z4e" secondAttribute="bottom" id="l3K-LN-KQt"/>
... ... @@ -1374,7 +1346,7 @@
1374 1346 </label>
1375 1347 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FzF-1s-QFR">
1376 1348 <rect key="frame" x="10" y="12" width="16" height="16"/>
1377   - <color key="backgroundColor" red="0.016804177310000001" green="0.19835099580000001" blue="1" alpha="0.58256635273972601" colorSpace="custom" customColorSpace="sRGB"/>
  1349 + <color key="backgroundColor" red="0.25490196078431371" green="0.41176470588235292" blue="0.74509803921568629" alpha="0.58256635273972601" colorSpace="custom" customColorSpace="sRGB"/>
1378 1350 <constraints>
1379 1351 <constraint firstAttribute="height" constant="16" id="0ev-7O-rKb"/>
1380 1352 <constraint firstAttribute="width" constant="16" id="7gn-h0-yAb"/>
... ... @@ -2180,7 +2152,6 @@
2180 2152 <image name="navigationBar_backgrounImage" width="375" height="139"/>
2181 2153 <image name="report_bar_icon" width="22" height="20"/>
2182 2154 <image name="report_bar_icon_select" width="22" height="20"/>
2183   - <image name="test001" width="540" height="278"/>
2184 2155 <image name="test002" width="216" height="282"/>
2185 2156 <image name="test003" width="732" height="388"/>
2186 2157 </resources>
... ...
ParentAssistant/Pods/Pods.xcodeproj/xcuserdata/caoyang.xcuserdatad/xcschemes/xcschememanagement.plist
... ... @@ -7,7 +7,7 @@
7 7 <key>Alamofire.xcscheme</key>
8 8 <dict>
9 9 <key>orderHint</key>
10   - <integer>1</integer>
  10 + <integer>0</integer>
11 11 </dict>
12 12 <key>DZNEmptyDataSet.xcscheme</key>
13 13 <dict>
... ...