Commit 3a28258d7a8fb68a5dfc9111f7359df71e213533

Authored by Cao yang
1 parent 900acef1
Exists in parentassistant

优化代码和 注册页面

ParentAssistant/ParentAssistant.xcworkspace/xcuserdata/caoyang.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
ParentAssistant/ParentAssistant/Classes/controllers/Grow/GrowViewController.swift
@@ -46,7 +46,6 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { @@ -46,7 +46,6 @@ class GrowViewController: UIViewController,UIScrollViewDelegate {
46 46
47 override func viewDidLoad() { 47 override func viewDidLoad() {
48 super.viewDidLoad() 48 super.viewDidLoad()
49 - navigationBarHeight = self.navigationController?.navigationBar.frame.height  
50 titleArr = ["应用","报告"] 49 titleArr = ["应用","报告"]
51 //设置导航栏标题 50 //设置导航栏标题
52 self.navigationItem.titleView = titleView 51 self.navigationItem.titleView = titleView
@@ -99,6 +98,7 @@ class GrowViewController: UIViewController,UIScrollViewDelegate { @@ -99,6 +98,7 @@ class GrowViewController: UIViewController,UIScrollViewDelegate {
99 // rightView.addTarget(self, action: #selector(showView), for: UIControlEvents.touchDown) 98 // rightView.addTarget(self, action: #selector(showView), for: UIControlEvents.touchDown)
100 self.rightBtn = UIBarButtonItem.init(customView: rightView) 99 self.rightBtn = UIBarButtonItem.init(customView: rightView)
101 100
  101 +
102 //设置顶部样式 102 //设置顶部样式
103 self.configTheme() 103 self.configTheme()
104 } 104 }
ParentAssistant/ParentAssistant/Classes/controllers/Information/InformationViewController.swift
@@ -17,7 +17,7 @@ class InformationViewController: UIViewController,UISearchBarDelegate { @@ -17,7 +17,7 @@ class InformationViewController: UIViewController,UISearchBarDelegate {
17 override func viewDidLoad() { 17 override func viewDidLoad() {
18 super.viewDidLoad() 18 super.viewDidLoad()
19 self.configTheme() 19 self.configTheme()
20 - 20 +
21 if isFirstviewController{ 21 if isFirstviewController{
22 self.navigationItem.title = "" 22 self.navigationItem.title = ""
23 addLeftBarBtn() 23 addLeftBarBtn()
ParentAssistant/ParentAssistant/Classes/controllers/main/TabBarController.swift
@@ -14,7 +14,6 @@ class TabBarController: UITabBarController { @@ -14,7 +14,6 @@ class TabBarController: UITabBarController {
14 super.viewDidLoad() 14 super.viewDidLoad()
15 updataVersion() 15 updataVersion()
16 } 16 }
17 -  
18 override func didReceiveMemoryWarning() { 17 override func didReceiveMemoryWarning() {
19 super.didReceiveMemoryWarning() 18 super.didReceiveMemoryWarning()
20 // Dispose of any resources that can be recreated. 19 // Dispose of any resources that can be recreated.
ParentAssistant/ParentAssistant/Classes/controllers/my/Controller/My.storyboard
@@ -14,257 +14,287 @@ @@ -14,257 +14,287 @@
14 </dependencies> 14 </dependencies>
15 <scenes> 15 <scenes>
16 <!--Register View Controller--> 16 <!--Register View Controller-->
17 - <scene sceneID="WHr-Tz-UMB"> 17 + <scene sceneID="k1p-jr-UBw">
18 <objects> 18 <objects>
19 - <viewController storyboardIdentifier="RegisterViewController" id="Uds-ft-2AX" customClass="RegisterViewController" customModule="ParentAssistant" customModuleProvider="target" sceneMemberID="viewController">  
20 - <view key="view" contentMode="scaleToFill" id="iDq-et-uKv"> 19 + <tableViewController storyboardIdentifier="RegisterViewController" id="hjy-iv-Li4" customClass="RegisterViewController" customModule="ParentAssistant" customModuleProvider="target" sceneMemberID="viewController">
  20 + <tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="static" style="plain" separatorStyle="none" allowsSelection="NO" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" id="Y23-T2-9DP">
21 <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> 21 <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
22 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 22 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
23 - <subviews>  
24 - <view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="a5f-wj-3dN">  
25 - <rect key="frame" x="0.0" y="181" width="375" height="325"/>  
26 - <subviews>  
27 - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="defphoto" translatesAutoresizingMaskIntoConstraints="NO" id="gLu-cN-6Yp">  
28 - <rect key="frame" x="157.5" y="0.0" width="60" height="60"/>  
29 - <constraints>  
30 - <constraint firstAttribute="width" constant="60" id="AhV-UG-PjF"/>  
31 - <constraint firstAttribute="width" secondItem="gLu-cN-6Yp" secondAttribute="height" multiplier="1:1" id="WaH-kd-pcc"/>  
32 - </constraints>  
33 - <userDefinedRuntimeAttributes>  
34 - <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>  
35 - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">  
36 - <integer key="value" value="30"/>  
37 - </userDefinedRuntimeAttribute>  
38 - </userDefinedRuntimeAttributes>  
39 - </imageView>  
40 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="f1m-2i-gPe">  
41 - <rect key="frame" x="0.0" y="110" width="375" height="118"/>  
42 - <subviews>  
43 - <textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入手机号" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="jfl-9w-lKS">  
44 - <rect key="frame" x="8" y="0.0" width="359" height="30"/>  
45 - <constraints>  
46 - <constraint firstAttribute="height" constant="30" id="hRq-wk-ReW"/>  
47 - </constraints>  
48 - <nil key="textColor"/>  
49 - <fontDescription key="fontDescription" type="system" pointSize="14"/>  
50 - <textInputTraits key="textInputTraits" returnKeyType="done"/>  
51 - <connections>  
52 - <outlet property="delegate" destination="Uds-ft-2AX" id="88D-Rm-Odl"/>  
53 - </connections>  
54 - </textField>  
55 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zvv-rs-bho">  
56 - <rect key="frame" x="8" y="38" width="359" height="1"/>  
57 - <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>  
58 - <constraints>  
59 - <constraint firstAttribute="height" constant="1" id="ItX-p1-WOS"/>  
60 - </constraints>  
61 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
62 - <color key="textColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>  
63 - <nil key="highlightedColor"/>  
64 - </label>  
65 - <textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入验证码" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="rvv-oi-8mr">  
66 - <rect key="frame" x="8" y="39" width="298" height="30"/>  
67 - <constraints>  
68 - <constraint firstAttribute="height" constant="30" id="WX4-Ng-MbQ"/>  
69 - </constraints>  
70 - <nil key="textColor"/>  
71 - <fontDescription key="fontDescription" type="system" pointSize="14"/>  
72 - <textInputTraits key="textInputTraits" returnKeyType="done"/>  
73 - <connections>  
74 - <outlet property="delegate" destination="Uds-ft-2AX" id="Cav-vO-4v4"/>  
75 - </connections>  
76 - </textField>  
77 - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cYh-XE-Dq0">  
78 - <rect key="frame" x="314" y="46.5" width="45" height="22"/>  
79 - <constraints>  
80 - <constraint firstAttribute="width" constant="45" id="dUI-S5-O1I"/>  
81 - </constraints>  
82 - <state key="normal" title="获取">  
83 - <color key="titleColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>  
84 - </state>  
85 - <userDefinedRuntimeAttributes>  
86 - <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>  
87 - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">  
88 - <integer key="value" value="5"/>  
89 - </userDefinedRuntimeAttribute>  
90 - </userDefinedRuntimeAttributes>  
91 - <connections>  
92 - <action selector="getCodeAction:" destination="Uds-ft-2AX" eventType="touchUpInside" id="6oJ-Hr-g7D"/>  
93 - </connections>  
94 - </button>  
95 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AEB-fa-1Al">  
96 - <rect key="frame" x="8" y="77" width="359" height="1"/>  
97 - <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>  
98 - <constraints>  
99 - <constraint firstAttribute="height" constant="1" id="GTU-5P-gwm"/>  
100 - </constraints>  
101 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
102 - <nil key="textColor"/>  
103 - <nil key="highlightedColor"/>  
104 - </label>  
105 - <textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请设置密码:6-16个字符" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="8GI-NJ-wDi">  
106 - <rect key="frame" x="8" y="78" width="298" height="30"/>  
107 - <constraints>  
108 - <constraint firstAttribute="height" constant="30" id="QEV-IS-NQn"/>  
109 - </constraints>  
110 - <nil key="textColor"/>  
111 - <fontDescription key="fontDescription" type="system" pointSize="14"/>  
112 - <textInputTraits key="textInputTraits" returnKeyType="done" secureTextEntry="YES"/>  
113 - <connections>  
114 - <outlet property="delegate" destination="Uds-ft-2AX" id="Zom-EE-UvB"/>  
115 - </connections>  
116 - </textField>  
117 - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="pGX-GI-ezi">  
118 - <rect key="frame" x="314" y="85.5" width="45" height="22"/>  
119 - <constraints>  
120 - <constraint firstAttribute="width" constant="45" id="T2S-BG-WER"/>  
121 - <constraint firstAttribute="height" constant="22" id="gru-Fe-yKa"/>  
122 - </constraints>  
123 - <state key="normal" image="my_password_unlook">  
124 - <color key="titleColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>  
125 - </state>  
126 - <userDefinedRuntimeAttributes>  
127 - <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>  
128 - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">  
129 - <integer key="value" value="5"/>  
130 - </userDefinedRuntimeAttribute>  
131 - </userDefinedRuntimeAttributes>  
132 - <connections>  
133 - <action selector="passwordHiddenAction:" destination="Uds-ft-2AX" eventType="touchUpInside" id="Yeu-dh-B9o"/>  
134 - </connections>  
135 - </button>  
136 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WbG-m1-9YX">  
137 - <rect key="frame" x="8" y="116" width="359" height="1"/>  
138 - <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>  
139 - <constraints>  
140 - <constraint firstAttribute="height" constant="1" id="Sxp-bb-YZI"/>  
141 - </constraints>  
142 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
143 - <nil key="textColor"/>  
144 - <nil key="highlightedColor"/>  
145 - </label>  
146 - </subviews>  
147 - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>  
148 - <constraints>  
149 - <constraint firstItem="WbG-m1-9YX" firstAttribute="leading" secondItem="f1m-2i-gPe" secondAttribute="leading" constant="8" id="38i-TS-h9L"/>  
150 - <constraint firstItem="8GI-NJ-wDi" firstAttribute="leading" secondItem="f1m-2i-gPe" secondAttribute="leading" constant="8" id="5Gj-3U-qF0"/>  
151 - <constraint firstItem="zvv-rs-bho" firstAttribute="top" secondItem="jfl-9w-lKS" secondAttribute="bottom" constant="8" id="9Qb-y4-ZSe"/>  
152 - <constraint firstItem="jfl-9w-lKS" firstAttribute="top" secondItem="f1m-2i-gPe" secondAttribute="top" id="9tZ-tV-qGE"/>  
153 - <constraint firstItem="AEB-fa-1Al" firstAttribute="top" secondItem="cYh-XE-Dq0" secondAttribute="bottom" constant="8" id="CMa-6S-Buy"/>  
154 - <constraint firstAttribute="trailing" secondItem="jfl-9w-lKS" secondAttribute="trailing" constant="8" id="Fpd-ok-3mu"/>  
155 - <constraint firstItem="zvv-rs-bho" firstAttribute="leading" secondItem="f1m-2i-gPe" secondAttribute="leading" constant="8" id="H4n-nC-du4"/>  
156 - <constraint firstAttribute="trailing" secondItem="pGX-GI-ezi" secondAttribute="trailing" constant="16" id="K6b-x2-HnW"/>  
157 - <constraint firstItem="cYh-XE-Dq0" firstAttribute="leading" secondItem="rvv-oi-8mr" secondAttribute="trailing" constant="8" id="LPQ-o4-vN3"/>  
158 - <constraint firstItem="jfl-9w-lKS" firstAttribute="leading" secondItem="f1m-2i-gPe" secondAttribute="leading" constant="8" id="P12-Cy-KAt"/>  
159 - <constraint firstItem="AEB-fa-1Al" firstAttribute="top" secondItem="rvv-oi-8mr" secondAttribute="bottom" constant="8" id="Pxz-xB-jA9"/>  
160 - <constraint firstAttribute="trailing" secondItem="WbG-m1-9YX" secondAttribute="trailing" constant="8" id="Rcf-KS-YkS"/>  
161 - <constraint firstAttribute="trailing" secondItem="cYh-XE-Dq0" secondAttribute="trailing" constant="16" id="Sjn-wH-anM"/>  
162 - <constraint firstItem="jfl-9w-lKS" firstAttribute="top" secondItem="f1m-2i-gPe" secondAttribute="top" id="TF4-d7-cXB"/>  
163 - <constraint firstItem="8GI-NJ-wDi" firstAttribute="top" secondItem="AEB-fa-1Al" secondAttribute="bottom" id="V2V-TP-6wc"/>  
164 - <constraint firstAttribute="height" constant="118" id="VBr-NZ-aUb"/>  
165 - <constraint firstAttribute="trailing" secondItem="jfl-9w-lKS" secondAttribute="trailing" constant="8" id="Z9i-Qo-CkC"/>  
166 - <constraint firstAttribute="trailing" secondItem="zvv-rs-bho" secondAttribute="trailing" constant="8" id="d5g-FD-0bq"/>  
167 - <constraint firstAttribute="trailing" secondItem="AEB-fa-1Al" secondAttribute="trailing" constant="8" id="fys-IW-mNw"/>  
168 - <constraint firstItem="cYh-XE-Dq0" firstAttribute="top" secondItem="zvv-rs-bho" secondAttribute="bottom" constant="8" id="lYD-Wx-ed5"/>  
169 - <constraint firstItem="rvv-oi-8mr" firstAttribute="top" secondItem="zvv-rs-bho" secondAttribute="bottom" id="n2T-jV-WLR"/>  
170 - <constraint firstItem="WbG-m1-9YX" firstAttribute="top" secondItem="8GI-NJ-wDi" secondAttribute="bottom" constant="8" id="nwq-3Y-tUh"/>  
171 - <constraint firstItem="pGX-GI-ezi" firstAttribute="leading" secondItem="8GI-NJ-wDi" secondAttribute="trailing" constant="8" id="odU-Jk-1Kr"/>  
172 - <constraint firstItem="AEB-fa-1Al" firstAttribute="leading" secondItem="f1m-2i-gPe" secondAttribute="leading" constant="8" id="ol2-0w-V8S"/>  
173 - <constraint firstItem="jfl-9w-lKS" firstAttribute="leading" secondItem="f1m-2i-gPe" secondAttribute="leading" constant="8" id="sEE-5L-z2T"/>  
174 - <constraint firstItem="rvv-oi-8mr" firstAttribute="leading" secondItem="f1m-2i-gPe" secondAttribute="leading" constant="8" id="tKj-nG-R3e"/>  
175 - <constraint firstItem="pGX-GI-ezi" firstAttribute="top" secondItem="AEB-fa-1Al" secondAttribute="bottom" constant="8" id="xfk-vW-weV"/>  
176 - </constraints>  
177 - </view>  
178 - <button opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="2tN-SQ-L3b">  
179 - <rect key="frame" x="8" y="236" width="359" height="40"/>  
180 - <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>  
181 - <constraints>  
182 - <constraint firstAttribute="height" constant="40" id="y2X-Wd-k77"/>  
183 - </constraints>  
184 - <state key="normal" title="注册">  
185 - <color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
186 - </state>  
187 - <userDefinedRuntimeAttributes>  
188 - <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>  
189 - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">  
190 - <integer key="value" value="5"/>  
191 - </userDefinedRuntimeAttribute>  
192 - </userDefinedRuntimeAttributes>  
193 - <connections>  
194 - <action selector="registerAction:" destination="Uds-ft-2AX" eventType="touchUpInside" id="TUE-84-nbV"/>  
195 - </connections>  
196 - </button>  
197 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3No-8C-Khf">  
198 - <rect key="frame" x="8" y="306" width="359" height="19"/>  
199 - <subviews>  
200 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="已注册,直接登录" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TUw-vF-sIc">  
201 - <rect key="frame" x="0.0" y="0.0" width="114.5" height="19"/>  
202 - <fontDescription key="fontDescription" type="system" pointSize="14"/>  
203 - <color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>  
204 - <nil key="highlightedColor"/>  
205 - </label>  
206 - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="YZ4-eP-Zus">  
207 - <rect key="frame" x="123" y="0.0" width="236" height="19"/>  
208 - <fontDescription key="fontDescription" type="system" pointSize="14"/>  
209 - <state key="normal" title="登录"/>  
210 - <connections>  
211 - <action selector="loginAction:" destination="Uds-ft-2AX" eventType="touchUpInside" id="chl-4g-qOJ"/>  
212 - </connections>  
213 - </button>  
214 - </subviews>  
215 - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>  
216 - <constraints>  
217 - <constraint firstAttribute="height" constant="19" id="6xe-Im-rue"/>  
218 - <constraint firstAttribute="bottom" secondItem="YZ4-eP-Zus" secondAttribute="bottom" id="9fU-TJ-3nM"/>  
219 - <constraint firstItem="TUw-vF-sIc" firstAttribute="leading" secondItem="3No-8C-Khf" secondAttribute="leading" id="Pxw-ua-3ch"/>  
220 - <constraint firstItem="TUw-vF-sIc" firstAttribute="top" secondItem="3No-8C-Khf" secondAttribute="top" id="Q23-ca-Ct3"/>  
221 - <constraint firstAttribute="trailing" secondItem="YZ4-eP-Zus" secondAttribute="trailing" id="StK-wf-UFf"/>  
222 - <constraint firstItem="YZ4-eP-Zus" firstAttribute="top" secondItem="3No-8C-Khf" secondAttribute="top" id="csH-Mm-TFr"/>  
223 - <constraint firstItem="YZ4-eP-Zus" firstAttribute="leading" secondItem="TUw-vF-sIc" secondAttribute="trailing" constant="8" id="dUi-pP-48X"/>  
224 - <constraint firstAttribute="bottom" secondItem="TUw-vF-sIc" secondAttribute="bottom" id="etM-WV-v9B"/>  
225 - </constraints>  
226 - </view>  
227 - </subviews>  
228 - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>  
229 - <constraints>  
230 - <constraint firstAttribute="height" constant="325" id="4T1-gt-Ok6"/>  
231 - <constraint firstItem="2tN-SQ-L3b" firstAttribute="leading" secondItem="a5f-wj-3dN" secondAttribute="leading" constant="8" id="CCs-mf-Fjl"/>  
232 - <constraint firstItem="gLu-cN-6Yp" firstAttribute="centerX" secondItem="a5f-wj-3dN" secondAttribute="centerX" id="Lv4-Uv-ruo"/>  
233 - <constraint firstAttribute="trailing" secondItem="3No-8C-Khf" secondAttribute="trailing" constant="8" id="R5o-hJ-nFc"/>  
234 - <constraint firstItem="f1m-2i-gPe" firstAttribute="top" secondItem="gLu-cN-6Yp" secondAttribute="bottom" constant="50" id="XNa-pn-6Ku"/>  
235 - <constraint firstItem="f1m-2i-gPe" firstAttribute="leading" secondItem="a5f-wj-3dN" secondAttribute="leading" id="XRd-TB-wMH"/>  
236 - <constraint firstItem="3No-8C-Khf" firstAttribute="leading" secondItem="a5f-wj-3dN" secondAttribute="leading" constant="8" id="bqx-lg-STd"/>  
237 - <constraint firstItem="gLu-cN-6Yp" firstAttribute="top" secondItem="a5f-wj-3dN" secondAttribute="top" id="iYy-iw-5AG"/>  
238 - <constraint firstAttribute="trailing" secondItem="2tN-SQ-L3b" secondAttribute="trailing" constant="8" id="o7Z-oO-iYl"/>  
239 - <constraint firstItem="3No-8C-Khf" firstAttribute="top" secondItem="2tN-SQ-L3b" secondAttribute="bottom" constant="30" id="pWJ-FG-G1s"/>  
240 - <constraint firstAttribute="trailing" secondItem="f1m-2i-gPe" secondAttribute="trailing" id="q2t-co-Rog"/>  
241 - <constraint firstItem="2tN-SQ-L3b" firstAttribute="top" secondItem="f1m-2i-gPe" secondAttribute="bottom" constant="8" id="xg4-n6-CW9"/>  
242 - </constraints>  
243 - </view>  
244 - </subviews>  
245 - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>  
246 - <constraints>  
247 - <constraint firstItem="a5f-wj-3dN" firstAttribute="trailing" secondItem="b5A-wq-3uy" secondAttribute="trailing" id="OyY-Kq-fpe"/>  
248 - <constraint firstItem="a5f-wj-3dN" firstAttribute="centerX" secondItem="b5A-wq-3uy" secondAttribute="centerX" id="iVd-sy-zmb"/>  
249 - <constraint firstItem="a5f-wj-3dN" firstAttribute="top" secondItem="b5A-wq-3uy" secondAttribute="top" constant="161" id="lBa-xc-AUJ"/>  
250 - <constraint firstItem="a5f-wj-3dN" firstAttribute="leading" secondItem="b5A-wq-3uy" secondAttribute="leading" id="tx4-Fh-ncS"/>  
251 - </constraints>  
252 - <viewLayoutGuide key="safeArea" id="b5A-wq-3uy"/>  
253 - </view> 23 + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  24 + <sections>
  25 + <tableViewSection id="9Ko-Lb-MGt">
  26 + <cells>
  27 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" rowHeight="166" id="VOi-K1-JFP">
  28 + <rect key="frame" x="0.0" y="0.0" width="375" height="166"/>
  29 + <autoresizingMask key="autoresizingMask"/>
  30 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="VOi-K1-JFP" id="eyO-DI-Ze1">
  31 + <rect key="frame" x="0.0" y="0.0" width="375" height="166"/>
  32 + <autoresizingMask key="autoresizingMask"/>
  33 + <subviews>
  34 + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="defphoto" translatesAutoresizingMaskIntoConstraints="NO" id="xkr-1t-VH1">
  35 + <rect key="frame" x="157" y="53" width="60" height="60"/>
  36 + <constraints>
  37 + <constraint firstAttribute="height" constant="60" id="U6L-t3-gkk"/>
  38 + <constraint firstAttribute="width" constant="60" id="x1R-P8-ITq"/>
  39 + </constraints>
  40 + <userDefinedRuntimeAttributes>
  41 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  42 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  43 + <integer key="value" value="30"/>
  44 + </userDefinedRuntimeAttribute>
  45 + </userDefinedRuntimeAttributes>
  46 + </imageView>
  47 + </subviews>
  48 + <constraints>
  49 + <constraint firstItem="xkr-1t-VH1" firstAttribute="centerX" secondItem="eyO-DI-Ze1" secondAttribute="centerX" id="83K-u2-UHU"/>
  50 + <constraint firstItem="xkr-1t-VH1" firstAttribute="centerY" secondItem="eyO-DI-Ze1" secondAttribute="centerY" id="doo-AN-Tav"/>
  51 + </constraints>
  52 + </tableViewCellContentView>
  53 + </tableViewCell>
  54 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="cRT-ym-o62">
  55 + <rect key="frame" x="0.0" y="166" width="375" height="44"/>
  56 + <autoresizingMask key="autoresizingMask"/>
  57 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="cRT-ym-o62" id="B1b-9e-Tdo">
  58 + <rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
  59 + <autoresizingMask key="autoresizingMask"/>
  60 + <subviews>
  61 + <textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入手机号" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="NtL-m0-FBa">
  62 + <rect key="frame" x="8" y="12.5" width="359" height="19"/>
  63 + <nil key="textColor"/>
  64 + <fontDescription key="fontDescription" type="system" pointSize="14"/>
  65 + <textInputTraits key="textInputTraits" keyboardType="numbersAndPunctuation" returnKeyType="done"/>
  66 + <connections>
  67 + <outlet property="delegate" destination="hjy-iv-Li4" id="tsv-bf-xfq"/>
  68 + </connections>
  69 + </textField>
  70 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eiC-if-MCe">
  71 + <rect key="frame" x="8" y="43" width="359" height="1"/>
  72 + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
  73 + <constraints>
  74 + <constraint firstAttribute="height" constant="1" id="oEn-dp-kdM"/>
  75 + </constraints>
  76 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  77 + <nil key="textColor"/>
  78 + <nil key="highlightedColor"/>
  79 + </label>
  80 + </subviews>
  81 + <constraints>
  82 + <constraint firstAttribute="trailing" secondItem="eiC-if-MCe" secondAttribute="trailing" constant="8" id="8h6-ym-uS2"/>
  83 + <constraint firstItem="NtL-m0-FBa" firstAttribute="centerY" secondItem="B1b-9e-Tdo" secondAttribute="centerY" id="BqN-ez-hl9"/>
  84 + <constraint firstItem="eiC-if-MCe" firstAttribute="bottom" secondItem="B1b-9e-Tdo" secondAttribute="bottom" id="BsM-xG-LIP"/>
  85 + <constraint firstItem="NtL-m0-FBa" firstAttribute="leading" secondItem="B1b-9e-Tdo" secondAttribute="leading" constant="8" id="CVb-B0-ise"/>
  86 + <constraint firstItem="eiC-if-MCe" firstAttribute="leading" secondItem="B1b-9e-Tdo" secondAttribute="leading" constant="8" id="Pvs-ED-LNh"/>
  87 + <constraint firstAttribute="trailing" secondItem="NtL-m0-FBa" secondAttribute="trailing" constant="8" id="j3J-ph-41h"/>
  88 + </constraints>
  89 + </tableViewCellContentView>
  90 + </tableViewCell>
  91 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="YYN-hH-B6O">
  92 + <rect key="frame" x="0.0" y="210" width="375" height="44"/>
  93 + <autoresizingMask key="autoresizingMask"/>
  94 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="YYN-hH-B6O" id="u1s-vJ-wOd">
  95 + <rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
  96 + <autoresizingMask key="autoresizingMask"/>
  97 + <subviews>
  98 + <textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入验证码" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="dST-Mc-S49">
  99 + <rect key="frame" x="8" y="12.5" width="301" height="19"/>
  100 + <nil key="textColor"/>
  101 + <fontDescription key="fontDescription" type="system" pointSize="14"/>
  102 + <textInputTraits key="textInputTraits" returnKeyType="done"/>
  103 + <connections>
  104 + <outlet property="delegate" destination="hjy-iv-Li4" id="yBN-1g-9v0"/>
  105 + </connections>
  106 + </textField>
  107 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="e2r-r7-Pyq">
  108 + <rect key="frame" x="8" y="43" width="301" height="1"/>
  109 + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
  110 + <constraints>
  111 + <constraint firstAttribute="height" constant="1" id="GwK-OG-cFe"/>
  112 + </constraints>
  113 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  114 + <nil key="textColor"/>
  115 + <nil key="highlightedColor"/>
  116 + </label>
  117 + <button opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ffT-Tz-Ydl">
  118 + <rect key="frame" x="317" y="7" width="50" height="30"/>
  119 + <constraints>
  120 + <constraint firstAttribute="height" constant="30" id="ZGc-dO-oQc"/>
  121 + <constraint firstAttribute="width" constant="50" id="zHs-83-6ZB"/>
  122 + </constraints>
  123 + <state key="normal" title="获取">
  124 + <color key="titleColor" white="0.66666666669999997" alpha="1" colorSpace="calibratedWhite"/>
  125 + </state>
  126 + <userDefinedRuntimeAttributes>
  127 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  128 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  129 + <integer key="value" value="5"/>
  130 + </userDefinedRuntimeAttribute>
  131 + </userDefinedRuntimeAttributes>
  132 + <connections>
  133 + <action selector="getCodeAction:" destination="hjy-iv-Li4" eventType="touchUpInside" id="NCb-Nm-Cj2"/>
  134 + </connections>
  135 + </button>
  136 + </subviews>
  137 + <constraints>
  138 + <constraint firstItem="dST-Mc-S49" firstAttribute="centerY" secondItem="u1s-vJ-wOd" secondAttribute="centerY" id="BWb-4b-ndn"/>
  139 + <constraint firstItem="dST-Mc-S49" firstAttribute="leading" secondItem="u1s-vJ-wOd" secondAttribute="leading" constant="8" id="RRc-Uh-KH1"/>
  140 + <constraint firstItem="ffT-Tz-Ydl" firstAttribute="leading" secondItem="dST-Mc-S49" secondAttribute="trailing" constant="8" id="YNl-ac-uMS"/>
  141 + <constraint firstItem="e2r-r7-Pyq" firstAttribute="bottom" secondItem="u1s-vJ-wOd" secondAttribute="bottom" id="haY-IO-EwV"/>
  142 + <constraint firstItem="ffT-Tz-Ydl" firstAttribute="trailing" secondItem="u1s-vJ-wOd" secondAttribute="trailing" constant="-8" id="kWr-9x-EXC"/>
  143 + <constraint firstItem="ffT-Tz-Ydl" firstAttribute="leading" secondItem="e2r-r7-Pyq" secondAttribute="trailing" constant="8" id="pfu-FN-5bi"/>
  144 + <constraint firstItem="e2r-r7-Pyq" firstAttribute="leading" secondItem="u1s-vJ-wOd" secondAttribute="leading" constant="8" id="rmz-Mg-oto"/>
  145 + <constraint firstItem="ffT-Tz-Ydl" firstAttribute="centerY" secondItem="u1s-vJ-wOd" secondAttribute="centerY" id="vaB-fa-im8"/>
  146 + </constraints>
  147 + </tableViewCellContentView>
  148 + </tableViewCell>
  149 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="iYw-xo-BdJ">
  150 + <rect key="frame" x="0.0" y="254" width="375" height="44"/>
  151 + <autoresizingMask key="autoresizingMask"/>
  152 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="iYw-xo-BdJ" id="tDs-Cp-H8z">
  153 + <rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
  154 + <autoresizingMask key="autoresizingMask"/>
  155 + <subviews>
  156 + <textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请设置密码:6-16个字符" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="X93-bX-ic8">
  157 + <rect key="frame" x="8" y="12.5" width="301" height="19"/>
  158 + <nil key="textColor"/>
  159 + <fontDescription key="fontDescription" type="system" pointSize="14"/>
  160 + <textInputTraits key="textInputTraits" returnKeyType="done" secureTextEntry="YES"/>
  161 + <connections>
  162 + <outlet property="delegate" destination="hjy-iv-Li4" id="iCf-GX-Y2k"/>
  163 + </connections>
  164 + </textField>
  165 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4mi-QR-JYE">
  166 + <rect key="frame" x="8" y="43" width="301" height="1"/>
  167 + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
  168 + <constraints>
  169 + <constraint firstAttribute="height" constant="1" id="No4-Pv-LmL"/>
  170 + <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="1" id="rq7-7P-XkV"/>
  171 + </constraints>
  172 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  173 + <nil key="textColor"/>
  174 + <nil key="highlightedColor"/>
  175 + </label>
  176 + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="jwV-U0-9x4">
  177 + <rect key="frame" x="317" y="7" width="50" height="30"/>
  178 + <constraints>
  179 + <constraint firstAttribute="height" constant="30" id="dii-X8-ZQm"/>
  180 + <constraint firstAttribute="width" constant="50" id="kty-Wj-y4c"/>
  181 + </constraints>
  182 + <state key="normal" image="my_password_unlook">
  183 + <color key="titleColor" white="0.66666666669999997" alpha="1" colorSpace="calibratedWhite"/>
  184 + </state>
  185 + <userDefinedRuntimeAttributes>
  186 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  187 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  188 + <integer key="value" value="5"/>
  189 + </userDefinedRuntimeAttribute>
  190 + </userDefinedRuntimeAttributes>
  191 + <connections>
  192 + <action selector="passwordHiddenAction:" destination="hjy-iv-Li4" eventType="touchUpInside" id="Iy0-VN-8SH"/>
  193 + </connections>
  194 + </button>
  195 + </subviews>
  196 + <constraints>
  197 + <constraint firstAttribute="trailing" secondItem="jwV-U0-9x4" secondAttribute="trailing" constant="8" id="3ot-WL-E8E"/>
  198 + <constraint firstItem="4mi-QR-JYE" firstAttribute="leading" secondItem="tDs-Cp-H8z" secondAttribute="leading" constant="8" id="B4H-FW-KPr"/>
  199 + <constraint firstItem="jwV-U0-9x4" firstAttribute="leading" secondItem="X93-bX-ic8" secondAttribute="trailing" constant="8" id="Jje-Zx-hJw"/>
  200 + <constraint firstItem="4mi-QR-JYE" firstAttribute="bottom" secondItem="tDs-Cp-H8z" secondAttribute="bottom" id="Kzh-6z-wXJ"/>
  201 + <constraint firstItem="jwV-U0-9x4" firstAttribute="leading" secondItem="4mi-QR-JYE" secondAttribute="trailing" constant="8" id="fK5-le-dTK"/>
  202 + <constraint firstItem="X93-bX-ic8" firstAttribute="leading" secondItem="tDs-Cp-H8z" secondAttribute="leading" constant="8" id="iqj-7v-XfS"/>
  203 + <constraint firstItem="jwV-U0-9x4" firstAttribute="centerY" secondItem="tDs-Cp-H8z" secondAttribute="centerY" id="qjv-Nj-JFE"/>
  204 + <constraint firstItem="X93-bX-ic8" firstAttribute="centerY" secondItem="tDs-Cp-H8z" secondAttribute="centerY" id="vFQ-E9-azc"/>
  205 + </constraints>
  206 + </tableViewCellContentView>
  207 + </tableViewCell>
  208 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="dbD-E8-VUR">
  209 + <rect key="frame" x="0.0" y="298" width="375" height="44"/>
  210 + <autoresizingMask key="autoresizingMask"/>
  211 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="dbD-E8-VUR" id="j0F-mr-xia">
  212 + <rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
  213 + <autoresizingMask key="autoresizingMask"/>
  214 + <subviews>
  215 + <button opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="3sg-8Q-GYa">
  216 + <rect key="frame" x="8" y="2" width="359" height="40"/>
  217 + <color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="calibratedWhite"/>
  218 + <constraints>
  219 + <constraint firstAttribute="height" constant="40" id="HmK-xk-zdX"/>
  220 + </constraints>
  221 + <state key="normal" title="注册">
  222 + <color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  223 + </state>
  224 + <userDefinedRuntimeAttributes>
  225 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  226 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  227 + <integer key="value" value="5"/>
  228 + </userDefinedRuntimeAttribute>
  229 + </userDefinedRuntimeAttributes>
  230 + <connections>
  231 + <action selector="registerAction:" destination="hjy-iv-Li4" eventType="touchUpInside" id="kvl-ow-qG1"/>
  232 + </connections>
  233 + </button>
  234 + </subviews>
  235 + <constraints>
  236 + <constraint firstItem="3sg-8Q-GYa" firstAttribute="centerY" secondItem="j0F-mr-xia" secondAttribute="centerY" id="EGa-u0-Rkf"/>
  237 + <constraint firstItem="3sg-8Q-GYa" firstAttribute="leading" secondItem="j0F-mr-xia" secondAttribute="leading" constant="8" id="JF1-0k-unY"/>
  238 + <constraint firstAttribute="trailing" secondItem="3sg-8Q-GYa" secondAttribute="trailing" constant="8" id="fMu-e0-jqi"/>
  239 + </constraints>
  240 + </tableViewCellContentView>
  241 + </tableViewCell>
  242 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="Xhd-iu-9ZF">
  243 + <rect key="frame" x="0.0" y="342" width="375" height="44"/>
  244 + <autoresizingMask key="autoresizingMask"/>
  245 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Xhd-iu-9ZF" id="P1c-Ns-CBR">
  246 + <rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
  247 + <autoresizingMask key="autoresizingMask"/>
  248 + <subviews>
  249 + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="NBj-lL-p1W">
  250 + <rect key="frame" x="133" y="2" width="50" height="40"/>
  251 + <constraints>
  252 + <constraint firstAttribute="height" constant="40" id="V6f-Da-UZO"/>
  253 + <constraint firstAttribute="width" constant="50" id="bZt-RW-dVQ"/>
  254 + </constraints>
  255 + <fontDescription key="fontDescription" type="system" pointSize="14"/>
  256 + <state key="normal" title="登录"/>
  257 + <connections>
  258 + <action selector="loginAction:" destination="hjy-iv-Li4" eventType="touchUpInside" id="TZH-CI-fGT"/>
  259 + </connections>
  260 + </button>
  261 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="已注册,直接登录" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cwV-As-GSs">
  262 + <rect key="frame" x="8" y="13.5" width="115" height="17"/>
  263 + <fontDescription key="fontDescription" type="system" pointSize="14"/>
  264 + <color key="textColor" white="0.66666666669999997" alpha="1" colorSpace="calibratedWhite"/>
  265 + <nil key="highlightedColor"/>
  266 + </label>
  267 + </subviews>
  268 + <constraints>
  269 + <constraint firstItem="NBj-lL-p1W" firstAttribute="leading" secondItem="cwV-As-GSs" secondAttribute="trailing" constant="10" id="5iO-WV-AJ1"/>
  270 + <constraint firstItem="NBj-lL-p1W" firstAttribute="centerY" secondItem="P1c-Ns-CBR" secondAttribute="centerY" id="R16-mv-zzU"/>
  271 + <constraint firstItem="cwV-As-GSs" firstAttribute="centerY" secondItem="P1c-Ns-CBR" secondAttribute="centerY" id="RZZ-vI-VFL"/>
  272 + <constraint firstItem="cwV-As-GSs" firstAttribute="leading" secondItem="P1c-Ns-CBR" secondAttribute="leading" constant="8" id="bB2-tw-jWM"/>
  273 + </constraints>
  274 + </tableViewCellContentView>
  275 + </tableViewCell>
  276 + </cells>
  277 + </tableViewSection>
  278 + </sections>
  279 + <connections>
  280 + <outlet property="dataSource" destination="hjy-iv-Li4" id="SNE-O9-Jad"/>
  281 + <outlet property="delegate" destination="hjy-iv-Li4" id="Rq2-1Y-CcB"/>
  282 + </connections>
  283 + </tableView>
254 <connections> 284 <connections>
255 - <outlet property="codeTextField" destination="rvv-oi-8mr" id="Awn-PW-dIC"/>  
256 - <outlet property="getCodeBtn" destination="cYh-XE-Dq0" id="2Ka-NJ-f51"/>  
257 - <outlet property="passwordHiddenBtn" destination="pGX-GI-ezi" id="3Nr-CX-Tpc"/>  
258 - <outlet property="passwordTextField" destination="8GI-NJ-wDi" id="rHD-h6-QWB"/>  
259 - <outlet property="personIconImageView" destination="gLu-cN-6Yp" id="9of-fG-wPb"/>  
260 - <outlet property="phoneTextField" destination="jfl-9w-lKS" id="TTe-fp-SyY"/>  
261 - <outlet property="registerBtn" destination="2tN-SQ-L3b" id="fjg-a4-fOV"/>  
262 - <outlet property="topView" destination="lBa-xc-AUJ" id="G0v-j1-VoK"/> 285 + <outlet property="codeTextField" destination="dST-Mc-S49" id="pto-dn-lfv"/>
  286 + <outlet property="getCodeBtn" destination="ffT-Tz-Ydl" id="JSl-l8-R9J"/>
  287 + <outlet property="passwordHiddenBtn" destination="jwV-U0-9x4" id="XKG-zZ-cdb"/>
  288 + <outlet property="passwordTextField" destination="X93-bX-ic8" id="tr7-7m-wjD"/>
  289 + <outlet property="personIconImageView" destination="xkr-1t-VH1" id="lD0-Mc-cWV"/>
  290 + <outlet property="phoneTextField" destination="NtL-m0-FBa" id="5eT-Y9-r44"/>
  291 + <outlet property="registerBtn" destination="3sg-8Q-GYa" id="tXa-Rx-YbN"/>
  292 + <outlet property="rootTableView" destination="Y23-T2-9DP" id="zb5-8l-GNh"/>
263 </connections> 293 </connections>
264 - </viewController>  
265 - <placeholder placeholderIdentifier="IBFirstResponder" id="ebc-9u-7ih" userLabel="First Responder" sceneMemberID="firstResponder"/> 294 + </tableViewController>
  295 + <placeholder placeholderIdentifier="IBFirstResponder" id="JT6-75-zX0" userLabel="First Responder" sceneMemberID="firstResponder"/>
266 </objects> 296 </objects>
267 - <point key="canvasLocation" x="-1308" y="-70.614692653673174"/> 297 + <point key="canvasLocation" x="-2700" y="-420.53973013493254"/>
268 </scene> 298 </scene>
269 <!--修改密码--> 299 <!--修改密码-->
270 <scene sceneID="3yG-jT-RDd"> 300 <scene sceneID="3yG-jT-RDd">
@@ -342,7 +372,6 @@ @@ -342,7 +372,6 @@
342 </userDefinedRuntimeAttribute> 372 </userDefinedRuntimeAttribute>
343 </userDefinedRuntimeAttributes> 373 </userDefinedRuntimeAttributes>
344 <connections> 374 <connections>
345 - <action selector="getCodeAction:" destination="Uds-ft-2AX" eventType="touchUpInside" id="Rtz-la-4UT"/>  
346 <action selector="getCodeAction:" destination="oIO-Z6-lAw" eventType="touchUpInside" id="cLG-ip-MvN"/> 375 <action selector="getCodeAction:" destination="oIO-Z6-lAw" eventType="touchUpInside" id="cLG-ip-MvN"/>
347 </connections> 376 </connections>
348 </button> 377 </button>
@@ -385,7 +414,6 @@ @@ -385,7 +414,6 @@
385 </userDefinedRuntimeAttributes> 414 </userDefinedRuntimeAttributes>
386 <connections> 415 <connections>
387 <action selector="passwordHiddenAction:" destination="oIO-Z6-lAw" eventType="touchUpInside" id="Prs-oE-nl7"/> 416 <action selector="passwordHiddenAction:" destination="oIO-Z6-lAw" eventType="touchUpInside" id="Prs-oE-nl7"/>
388 - <action selector="passwordHiddenAction:" destination="Uds-ft-2AX" eventType="touchUpInside" id="YsD-8q-T11"/>  
389 </connections> 417 </connections>
390 </button> 418 </button>
391 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="NTl-8I-jOx"> 419 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="NTl-8I-jOx">
@@ -426,7 +454,6 @@ @@ -426,7 +454,6 @@
426 </userDefinedRuntimeAttribute> 454 </userDefinedRuntimeAttribute>
427 </userDefinedRuntimeAttributes> 455 </userDefinedRuntimeAttributes>
428 <connections> 456 <connections>
429 - <action selector="passwordHiddenAction:" destination="Uds-ft-2AX" eventType="touchUpInside" id="eoQ-V7-vQ2"/>  
430 <action selector="passwordTwoHiddenAction:" destination="oIO-Z6-lAw" eventType="touchUpInside" id="2w6-mK-v5X"/> 457 <action selector="passwordTwoHiddenAction:" destination="oIO-Z6-lAw" eventType="touchUpInside" id="2w6-mK-v5X"/>
431 </connections> 458 </connections>
432 </button> 459 </button>
@@ -585,7 +612,6 @@ @@ -585,7 +612,6 @@
585 </userDefinedRuntimeAttributes> 612 </userDefinedRuntimeAttributes>
586 <connections> 613 <connections>
587 <action selector="loginAction:" destination="UG5-bJ-YrY" eventType="touchUpInside" id="iFr-Mi-Wiq"/> 614 <action selector="loginAction:" destination="UG5-bJ-YrY" eventType="touchUpInside" id="iFr-Mi-Wiq"/>
588 - <action selector="registerAction:" destination="Uds-ft-2AX" eventType="touchUpInside" id="WOZ-cY-Gu9"/>  
589 </connections> 615 </connections>
590 </button> 616 </button>
591 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="X9h-K7-0bg"> 617 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="X9h-K7-0bg">
@@ -623,7 +649,6 @@ @@ -623,7 +649,6 @@
623 <state key="normal" title="忘记密码"/> 649 <state key="normal" title="忘记密码"/>
624 <connections> 650 <connections>
625 <action selector="getPasswordAction:" destination="UG5-bJ-YrY" eventType="touchUpInside" id="EJR-6a-h6E"/> 651 <action selector="getPasswordAction:" destination="UG5-bJ-YrY" eventType="touchUpInside" id="EJR-6a-h6E"/>
626 - <action selector="loginAction:" destination="Uds-ft-2AX" eventType="touchUpInside" id="WkS-hX-ran"/>  
627 </connections> 652 </connections>
628 </button> 653 </button>
629 </subviews> 654 </subviews>
@@ -702,7 +727,6 @@ @@ -702,7 +727,6 @@
702 </userDefinedRuntimeAttribute> 727 </userDefinedRuntimeAttribute>
703 </userDefinedRuntimeAttributes> 728 </userDefinedRuntimeAttributes>
704 <connections> 729 <connections>
705 - <action selector="passwordHiddenAction:" destination="Uds-ft-2AX" eventType="touchUpInside" id="1FY-6X-4Gt"/>  
706 <action selector="passwordHiddenAction:" destination="UG5-bJ-YrY" eventType="touchUpInside" id="cXT-ig-6a6"/> 730 <action selector="passwordHiddenAction:" destination="UG5-bJ-YrY" eventType="touchUpInside" id="cXT-ig-6a6"/>
707 </connections> 731 </connections>
708 </button> 732 </button>
ParentAssistant/ParentAssistant/Classes/controllers/my/Controller/MyViewController.swift
@@ -27,8 +27,7 @@ class MyViewController: UIViewController { @@ -27,8 +27,7 @@ class MyViewController: UIViewController {
27 } 27 }
28 // MARK: - 设置控件属性 28 // MARK: - 设置控件属性
29 func layoutSubViews(){ 29 func layoutSubViews(){
30 -// let backImage = UIImage(named: "navigationBar_backgrounImage")  
31 -// self.navigationController?.navigationBar.setBackgroundImage(backImage, for: UIBarMetrics.default) 30 +
32 self.configTheme() 31 self.configTheme()
33 // MARK: - 是否是iPhoneX顶部刘海 32 // MARK: - 是否是iPhoneX顶部刘海
34 if UIApplication.shared.statusBarFrame.size.height>20 { 33 if UIApplication.shared.statusBarFrame.size.height>20 {
ParentAssistant/ParentAssistant/Classes/controllers/my/Controller/RegisterViewController.swift
@@ -8,8 +8,9 @@ @@ -8,8 +8,9 @@
8 8
9 import UIKit 9 import UIKit
10 //注册 10 //注册
11 -class RegisterViewController: UIViewController,UITextFieldDelegate {  
12 - @IBOutlet var topView: NSLayoutConstraint! 11 +class RegisterViewController: UITableViewController,UITextFieldDelegate {
  12 +
  13 + @IBOutlet var rootTableView: UITableView!
13 @IBOutlet var personIconImageView: UIImageView!//系统头像 14 @IBOutlet var personIconImageView: UIImageView!//系统头像
14 @IBOutlet var phoneTextField: UITextField!//电话号码 15 @IBOutlet var phoneTextField: UITextField!//电话号码
15 @IBOutlet var codeTextField: UITextField!//验证码 16 @IBOutlet var codeTextField: UITextField!//验证码
@@ -19,10 +20,12 @@ class RegisterViewController: UIViewController,UITextFieldDelegate { @@ -19,10 +20,12 @@ class RegisterViewController: UIViewController,UITextFieldDelegate {
19 20
20 @IBOutlet var registerBtn: UIButton!//注册按钮 21 @IBOutlet var registerBtn: UIButton!//注册按钮
21 22
22 -  
23 override func viewDidLoad() { 23 override func viewDidLoad() {
24 super.viewDidLoad() 24 super.viewDidLoad()
  25 +
  26 + self.rootTableView.tableFooterView = UIView.init()
25 layoutSubViews() 27 layoutSubViews()
  28 +
26 } 29 }
27 // MARK: - 设置控件属性 30 // MARK: - 设置控件属性
28 func layoutSubViews(){ 31 func layoutSubViews(){
@@ -30,18 +33,70 @@ class RegisterViewController: UIViewController,UITextFieldDelegate { @@ -30,18 +33,70 @@ class RegisterViewController: UIViewController,UITextFieldDelegate {
30 self.navigationItem.title = "注册" 33 self.navigationItem.title = "注册"
31 getCodeBtn.layer.borderWidth = 1.0 34 getCodeBtn.layer.borderWidth = 1.0
32 getCodeBtn.layer.borderColor = UIColor.lightGray.cgColor 35 getCodeBtn.layer.borderColor = UIColor.lightGray.cgColor
33 - topView.constant = (getScreenHeight()-325)/3 36 +
34 passwordHiddenBtn.setImage(UIImage(named: "my_password_look"), for: UIControlState.selected) 37 passwordHiddenBtn.setImage(UIImage(named: "my_password_look"), for: UIControlState.selected)
  38 + //键盘监听
35 NotificationCenter.default.addObserver(self, selector: #selector(RegisterViewController.keyboardWIllChange(_:)), name: NSNotification.Name.UIKeyboardWillChangeFrame, object: nil) 39 NotificationCenter.default.addObserver(self, selector: #selector(RegisterViewController.keyboardWIllChange(_:)), name: NSNotification.Name.UIKeyboardWillChangeFrame, object: nil)
  40 + //监听按钮状态
  41 + phoneTextField.addTarget(self, action: #selector(textFieldChange), for: UIControlEvents.editingChanged)
  42 + codeTextField.addTarget(self, action: #selector(textFieldChange), for: UIControlEvents.editingChanged)
  43 + passwordTextField.addTarget(self, action: #selector(textFieldChange), for: UIControlEvents.editingChanged)
  44 +
  45 + }
  46 +
  47 + //MARK: - 用户拖拽 关闭键盘
  48 + override func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
  49 + phoneTextField.resignFirstResponder()
  50 + codeTextField.resignFirstResponder()
  51 + passwordTextField.resignFirstResponder()
36 } 52 }
  53 +
  54 + //return 关闭键盘
  55 + func textFieldShouldReturn(_ textField: UITextField) -> Bool {
  56 + return textField.resignFirstResponder()
  57 + }
  58 +
37 // MARK: - 根据键盘调整高度 59 // MARK: - 根据键盘调整高度
38 @objc func keyboardWIllChange(_ noti: Notification){ 60 @objc func keyboardWIllChange(_ noti: Notification){
39 let userInfo:NSDictionary=noti.userInfo! as NSDictionary 61 let userInfo:NSDictionary=noti.userInfo! as NSDictionary
40 let endFrame=(userInfo[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue 62 let endFrame=(userInfo[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue
  63 +
  64 + print(self.rootTableView.frame)
  65 + let y = navigationBarHeight! + statusBarHeight
41 if endFrame?.origin.y == getScreenHeight() { 66 if endFrame?.origin.y == getScreenHeight() {
42 - topView.constant = (getScreenHeight()-325)/3 67 + UIView.animate(withDuration: 0.5) {
  68 +
  69 + self.rootTableView.frame = CGRect.init(x: 0, y: y, width: screenWidth, height:screenHeight)
  70 + }
43 }else{ 71 }else{
44 - topView.constant = (endFrame?.origin.y)!-375 72 + UIView.animate(withDuration: 0.5) {
  73 + self.rootTableView.frame = CGRect.init(x: 0, y: 0, width: screenWidth, height: screenHeight)
  74 + }
  75 + }
  76 + }
  77 +
  78 + override func numberOfSections(in tableView: UITableView) -> Int {
  79 + return 1
  80 + }
  81 + override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  82 + return 6
  83 + }
  84 + override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
  85 + if indexPath.row == 0 {
  86 + return 200
  87 + }
  88 + else{
  89 + return 50
  90 + }
  91 + }
  92 + //MARK: - 监听输入长度,显示登录按钮状态
  93 + @objc func textFieldChange(){
  94 + if (phoneTextField.text?.count)!>0 && (passwordTextField.text?.count)!>0 && (codeTextField.text?.count)!>0 {
  95 + registerBtn.isUserInteractionEnabled = true
  96 + registerBtn.backgroundColor = navigationColor
  97 + }else{
  98 + registerBtn.isUserInteractionEnabled = false
  99 + registerBtn.backgroundColor = UIColor.lightGray
45 } 100 }
46 } 101 }
47 // MARK: - 获取验证码 102 // MARK: - 获取验证码
@@ -71,24 +126,7 @@ class RegisterViewController: UIViewController,UITextFieldDelegate { @@ -71,24 +126,7 @@ class RegisterViewController: UIViewController,UITextFieldDelegate {
71 passwordHiddenBtn.isSelected = !selected 126 passwordHiddenBtn.isSelected = !selected
72 passwordTextField.isSecureTextEntry = selected 127 passwordTextField.isSecureTextEntry = selected
73 } 128 }
74 - // MARK: - 设置键盘消失  
75 - override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {  
76 - self.view.endEditing(true)  
77 - }  
78 - // MARK: - UITextFieldDelegate  
79 - func textFieldDidEndEditing(_ textField: UITextField) {  
80 - if textField==passwordTextField && phoneTextField.text! != "" && codeTextField.text! != "" && passwordTextField.text! != ""{  
81 - registerBtn.isUserInteractionEnabled = true  
82 - registerBtn.backgroundColor = UIColorFromRGB(0xC5DAFF)  
83 - }else{  
84 - registerBtn.isUserInteractionEnabled = false  
85 - registerBtn.backgroundColor = UIColor.lightGray  
86 - }  
87 - }  
88 - func textFieldShouldReturn(_ textField: UITextField) -> Bool {  
89 - self.view.endEditing(true)  
90 - return true  
91 - } 129 +
92 func isMobilePhoneNumber(_ mobile:String)->Bool { 130 func isMobilePhoneNumber(_ mobile:String)->Bool {
93 let str="^1[0-9]{10}" 131 let str="^1[0-9]{10}"
94 return NSPredicate(format: "SELF MATCHES %@", str).evaluate(with: mobile) 132 return NSPredicate(format: "SELF MATCHES %@", str).evaluate(with: mobile)
ParentAssistant/ParentAssistant/MainViewController.swift
@@ -13,6 +13,8 @@ class MainViewController: UINavigationController { @@ -13,6 +13,8 @@ class MainViewController: UINavigationController {
13 override func viewDidLoad() { 13 override func viewDidLoad() {
14 super.viewDidLoad() 14 super.viewDidLoad()
15 self.view.backgroundColor = UIColor.white 15 self.view.backgroundColor = UIColor.white
  16 + //获取导航栏高度
  17 + navigationBarHeight = self.navigationBar.frame.height
16 // Do any additional setup after loading the view. 18 // Do any additional setup after loading the view.
17 } 19 }
18 20