Commit 66f62debace91f3c35b6c9c96825eaf74b7dc366

Authored by 葛建军
1 parent 5b0c5e90
Exists in newLive

首页界面间距调整,微课首页界面搭建及数据填充。

YouerLiveVideo/YouerLiveVideo.xcodeproj/project.pbxproj
@@ -139,6 +139,7 @@ @@ -139,6 +139,7 @@
139 BF6977971E2DEC98006FA934 /* loginBackGround.png in Resources */ = {isa = PBXBuildFile; fileRef = BF6977941E2DEC98006FA934 /* loginBackGround.png */; }; 139 BF6977971E2DEC98006FA934 /* loginBackGround.png in Resources */ = {isa = PBXBuildFile; fileRef = BF6977941E2DEC98006FA934 /* loginBackGround.png */; };
140 BF6977981E2DEC98006FA934 /* userId.png in Resources */ = {isa = PBXBuildFile; fileRef = BF6977951E2DEC98006FA934 /* userId.png */; }; 140 BF6977981E2DEC98006FA934 /* userId.png in Resources */ = {isa = PBXBuildFile; fileRef = BF6977951E2DEC98006FA934 /* userId.png */; };
141 BF6977991E2DEC98006FA934 /* userPassword.png in Resources */ = {isa = PBXBuildFile; fileRef = BF6977961E2DEC98006FA934 /* userPassword.png */; }; 141 BF6977991E2DEC98006FA934 /* userPassword.png in Resources */ = {isa = PBXBuildFile; fileRef = BF6977961E2DEC98006FA934 /* userPassword.png */; };
  142 + BF7722F31ED283D400226D44 /* FilterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF7722F21ED283D400226D44 /* FilterViewController.swift */; };
142 BF7B75961E305A6D0011D5C7 /* MJRefreshAutoFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = BF7B756A1E305A6D0011D5C7 /* MJRefreshAutoFooter.m */; }; 143 BF7B75961E305A6D0011D5C7 /* MJRefreshAutoFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = BF7B756A1E305A6D0011D5C7 /* MJRefreshAutoFooter.m */; };
143 BF7B75971E305A6D0011D5C7 /* MJRefreshBackFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = BF7B756C1E305A6D0011D5C7 /* MJRefreshBackFooter.m */; }; 144 BF7B75971E305A6D0011D5C7 /* MJRefreshBackFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = BF7B756C1E305A6D0011D5C7 /* MJRefreshBackFooter.m */; };
144 BF7B75981E305A6D0011D5C7 /* MJRefreshComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = BF7B756E1E305A6D0011D5C7 /* MJRefreshComponent.m */; }; 145 BF7B75981E305A6D0011D5C7 /* MJRefreshComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = BF7B756E1E305A6D0011D5C7 /* MJRefreshComponent.m */; };
@@ -458,6 +459,7 @@ @@ -458,6 +459,7 @@
458 BF6977941E2DEC98006FA934 /* loginBackGround.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = loginBackGround.png; sourceTree = "<group>"; }; 459 BF6977941E2DEC98006FA934 /* loginBackGround.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = loginBackGround.png; sourceTree = "<group>"; };
459 BF6977951E2DEC98006FA934 /* userId.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = userId.png; sourceTree = "<group>"; }; 460 BF6977951E2DEC98006FA934 /* userId.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = userId.png; sourceTree = "<group>"; };
460 BF6977961E2DEC98006FA934 /* userPassword.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = userPassword.png; sourceTree = "<group>"; }; 461 BF6977961E2DEC98006FA934 /* userPassword.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = userPassword.png; sourceTree = "<group>"; };
  462 + BF7722F21ED283D400226D44 /* FilterViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilterViewController.swift; sourceTree = "<group>"; };
461 BF7B75691E305A6D0011D5C7 /* MJRefreshAutoFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshAutoFooter.h; sourceTree = "<group>"; }; 463 BF7B75691E305A6D0011D5C7 /* MJRefreshAutoFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshAutoFooter.h; sourceTree = "<group>"; };
462 BF7B756A1E305A6D0011D5C7 /* MJRefreshAutoFooter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshAutoFooter.m; sourceTree = "<group>"; }; 464 BF7B756A1E305A6D0011D5C7 /* MJRefreshAutoFooter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshAutoFooter.m; sourceTree = "<group>"; };
463 BF7B756B1E305A6D0011D5C7 /* MJRefreshBackFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshBackFooter.h; sourceTree = "<group>"; }; 465 BF7B756B1E305A6D0011D5C7 /* MJRefreshBackFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshBackFooter.h; sourceTree = "<group>"; };
@@ -620,6 +622,7 @@ @@ -620,6 +622,7 @@
620 isa = PBXGroup; 622 isa = PBXGroup;
621 children = ( 623 children = (
622 5904FC471ECA8B8C00E631FF /* ResourceViewController.swift */, 624 5904FC471ECA8B8C00E631FF /* ResourceViewController.swift */,
  625 + BF7722F21ED283D400226D44 /* FilterViewController.swift */,
623 59AE3DFA1ECECD7D003E2C62 /* LiveInforViewController.swift */, 626 59AE3DFA1ECECD7D003E2C62 /* LiveInforViewController.swift */,
624 59AE3DFC1ECED5B1003E2C62 /* MoivePlayerViewController.swift */, 627 59AE3DFC1ECED5B1003E2C62 /* MoivePlayerViewController.swift */,
625 597185B41ECA990C00D7F478 /* Resource.storyboard */, 628 597185B41ECA990C00D7F478 /* Resource.storyboard */,
@@ -1558,6 +1561,7 @@ @@ -1558,6 +1561,7 @@
1558 BF25DFF91DDAA36A003EC0C1 /* NSImage+WebCache.m in Sources */, 1561 BF25DFF91DDAA36A003EC0C1 /* NSImage+WebCache.m in Sources */,
1559 BF8E52EE1ECFD16000E472E8 /* RankingTableViewController.swift in Sources */, 1562 BF8E52EE1ECFD16000E472E8 /* RankingTableViewController.swift in Sources */,
1560 59F8014F1DD2C7AD000A78B0 /* AppDelegate.swift in Sources */, 1563 59F8014F1DD2C7AD000A78B0 /* AppDelegate.swift in Sources */,
  1564 + BF7722F31ED283D400226D44 /* FilterViewController.swift in Sources */,
1561 BF25DFED1DDAA36A003EC0C1 /* ResponseSerialization.swift in Sources */, 1565 BF25DFED1DDAA36A003EC0C1 /* ResponseSerialization.swift in Sources */,
1562 BF25E0031DDAA36A003EC0C1 /* UIImage+GIF.m in Sources */, 1566 BF25E0031DDAA36A003EC0C1 /* UIImage+GIF.m in Sources */,
1563 BFBB83E91ECC445D008B404B /* RegisterViewController.swift in Sources */, 1567 BFBB83E91ECC445D008B404B /* RegisterViewController.swift in Sources */,
YouerLiveVideo/YouerLiveVideo.xcodeproj/project.xcworkspace/xcuserdata/jun.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
YouerLiveVideo/YouerLiveVideo.xcodeproj/xcuserdata/jun.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -2,22 +2,4 @@ @@ -2,22 +2,4 @@
2 <Bucket 2 <Bucket
3 type = "1" 3 type = "1"
4 version = "2.0"> 4 version = "2.0">
5 - <Breakpoints>  
6 - <BreakpointProxy  
7 - BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">  
8 - <BreakpointContent  
9 - shouldBeEnabled = "Yes"  
10 - ignoreCount = "0"  
11 - continueAfterRunningActions = "No"  
12 - filePath = "YouerLiveVideo/controllers/User/UserCenter/RegisterViewController.swift"  
13 - timestampString = "516767766.610948"  
14 - startingColumnNumber = "9223372036854775807"  
15 - endingColumnNumber = "9223372036854775807"  
16 - startingLineNumber = "85"  
17 - endingLineNumber = "85"  
18 - landmarkName = "registerBtnAction(_:)"  
19 - landmarkType = "7">  
20 - </BreakpointContent>  
21 - </BreakpointProxy>  
22 - </Breakpoints>  
23 </Bucket> 5 </Bucket>
YouerLiveVideo/YouerLiveVideo/Base.lproj/Main.storyboard
@@ -11,26 +11,7 @@ @@ -11,26 +11,7 @@
11 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> 11 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
12 </dependencies> 12 </dependencies>
13 <scenes> 13 <scenes>
14 - <!--微课-->  
15 - <scene sceneID="mq3-Na-12P">  
16 - <objects>  
17 - <viewController title="微课" id="QLA-FR-CcL" customClass="MicroCourseViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController">  
18 - <layoutGuides>  
19 - <viewControllerLayoutGuide type="top" id="d3O-ta-bda"/>  
20 - <viewControllerLayoutGuide type="bottom" id="QdI-Tc-eF8"/>  
21 - </layoutGuides>  
22 - <view key="view" contentMode="scaleToFill" id="Sx6-eB-DOo">  
23 - <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>  
24 - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>  
25 - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>  
26 - </view>  
27 - <navigationItem key="navigationItem" id="tzJ-xv-YCb"/>  
28 - </viewController>  
29 - <placeholder placeholderIdentifier="IBFirstResponder" id="ZVI-J2-A73" userLabel="First Responder" sceneMemberID="firstResponder"/>  
30 - </objects>  
31 - <point key="canvasLocation" x="-340" y="2113"/>  
32 - </scene>  
33 - <!--Resource View Controller--> 14 + <!--资源-->
34 <scene sceneID="NfM-rG-voH"> 15 <scene sceneID="NfM-rG-voH">
35 <objects> 16 <objects>
36 <viewController id="xEc-U1-QCp" customClass="ResourceViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController"> 17 <viewController id="xEc-U1-QCp" customClass="ResourceViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController">
@@ -60,6 +41,9 @@ @@ -60,6 +41,9 @@
60 <state key="normal" title="筛选" image="starLive"> 41 <state key="normal" title="筛选" image="starLive">
61 <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> 42 <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
62 </state> 43 </state>
  44 + <connections>
  45 + <action selector="jumpFilterVCAction:" destination="xEc-U1-QCp" eventType="touchUpInside" id="dlS-PP-Koh"/>
  46 + </connections>
63 </button> 47 </button>
64 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="a7C-jD-YSJ"> 48 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="a7C-jD-YSJ">
65 <rect key="frame" x="245" y="14" width="57" height="22"/> 49 <rect key="frame" x="245" y="14" width="57" height="22"/>
@@ -81,15 +65,20 @@ @@ -81,15 +65,20 @@
81 <constraint firstItem="mgQ-3C-amN" firstAttribute="leading" secondItem="za5-9d-anp" secondAttribute="leading" constant="8" id="yW6-qE-tfE"/> 65 <constraint firstItem="mgQ-3C-amN" firstAttribute="leading" secondItem="za5-9d-anp" secondAttribute="leading" constant="8" id="yW6-qE-tfE"/>
82 </constraints> 66 </constraints>
83 </view> 67 </view>
84 - <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="143" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="su6-Ve-Mu4"> 68 + <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="143" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="su6-Ve-Mu4">
85 <rect key="frame" x="0.0" y="158" width="375" height="460"/> 69 <rect key="frame" x="0.0" y="158" width="375" height="460"/>
86 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 70 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
  71 + <view key="tableFooterView" contentMode="scaleToFill" id="KPy-fi-ei0">
  72 + <rect key="frame" x="0.0" y="171" width="375" height="1"/>
  73 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  74 + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
  75 + </view>
87 <prototypes> 76 <prototypes>
88 - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="identifier" rowHeight="143" id="tO9-FG-1Ux" customClass="ResourceViewControllerTableViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> 77 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="identifier" rowHeight="143" id="tO9-FG-1Ux" customClass="ResourceViewControllerTableViewCell" customModule="YouerLiveVideo" customModuleProvider="target">
89 <rect key="frame" x="0.0" y="28" width="375" height="143"/> 78 <rect key="frame" x="0.0" y="28" width="375" height="143"/>
90 <autoresizingMask key="autoresizingMask"/> 79 <autoresizingMask key="autoresizingMask"/>
91 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="tO9-FG-1Ux" id="73f-qf-61d"> 80 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="tO9-FG-1Ux" id="73f-qf-61d">
92 - <rect key="frame" x="0.0" y="0.0" width="375" height="143"/> 81 + <rect key="frame" x="0.0" y="0.0" width="375" height="142"/>
93 <autoresizingMask key="autoresizingMask"/> 82 <autoresizingMask key="autoresizingMask"/>
94 <subviews> 83 <subviews>
95 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="fqH-Ro-Yhh"> 84 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="fqH-Ro-Yhh">
@@ -100,7 +89,7 @@ @@ -100,7 +89,7 @@
100 </constraints> 89 </constraints>
101 </imageView> 90 </imageView>
102 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FNV-Qr-xrm"> 91 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FNV-Qr-xrm">
103 - <rect key="frame" x="114" y="32" width="42" height="21"/> 92 + <rect key="frame" x="114" y="32" width="165" height="21"/>
104 <fontDescription key="fontDescription" type="system" pointSize="17"/> 93 <fontDescription key="fontDescription" type="system" pointSize="17"/>
105 <nil key="textColor"/> 94 <nil key="textColor"/>
106 <nil key="highlightedColor"/> 95 <nil key="highlightedColor"/>
@@ -152,6 +141,7 @@ @@ -152,6 +141,7 @@
152 <constraint firstItem="paA-9W-bbM" firstAttribute="centerY" secondItem="WIc-YL-RvX" secondAttribute="centerY" id="Me2-Im-Vc9"/> 141 <constraint firstItem="paA-9W-bbM" firstAttribute="centerY" secondItem="WIc-YL-RvX" secondAttribute="centerY" id="Me2-Im-Vc9"/>
153 <constraint firstItem="fqH-Ro-Yhh" firstAttribute="leading" secondItem="73f-qf-61d" secondAttribute="leading" constant="8" id="Zty-O7-8xT"/> 142 <constraint firstItem="fqH-Ro-Yhh" firstAttribute="leading" secondItem="73f-qf-61d" secondAttribute="leading" constant="8" id="Zty-O7-8xT"/>
154 <constraint firstItem="IQj-VB-dch" firstAttribute="centerY" secondItem="73f-qf-61d" secondAttribute="centerY" id="emm-la-YJV"/> 143 <constraint firstItem="IQj-VB-dch" firstAttribute="centerY" secondItem="73f-qf-61d" secondAttribute="centerY" id="emm-la-YJV"/>
  144 + <constraint firstItem="yx0-8F-VaM" firstAttribute="leading" secondItem="FNV-Qr-xrm" secondAttribute="trailing" constant="8" id="fO3-dB-JFM"/>
155 <constraint firstItem="paA-9W-bbM" firstAttribute="leading" secondItem="ds9-Gw-nOf" secondAttribute="trailing" constant="8" id="g70-bh-6yw"/> 145 <constraint firstItem="paA-9W-bbM" firstAttribute="leading" secondItem="ds9-Gw-nOf" secondAttribute="trailing" constant="8" id="g70-bh-6yw"/>
156 <constraint firstItem="IQj-VB-dch" firstAttribute="leading" secondItem="FNV-Qr-xrm" secondAttribute="leading" id="hRh-iw-dub"/> 146 <constraint firstItem="IQj-VB-dch" firstAttribute="leading" secondItem="FNV-Qr-xrm" secondAttribute="leading" id="hRh-iw-dub"/>
157 <constraint firstItem="WIc-YL-RvX" firstAttribute="leading" secondItem="FNV-Qr-xrm" secondAttribute="leading" id="lPb-2C-esz"/> 147 <constraint firstItem="WIc-YL-RvX" firstAttribute="leading" secondItem="FNV-Qr-xrm" secondAttribute="leading" id="lPb-2C-esz"/>
@@ -222,7 +212,7 @@ @@ -222,7 +212,7 @@
222 <constraint firstItem="su6-Ve-Mu4" firstAttribute="leading" secondItem="SdC-Ao-cee" secondAttribute="leading" id="ydL-OO-314"/> 212 <constraint firstItem="su6-Ve-Mu4" firstAttribute="leading" secondItem="SdC-Ao-cee" secondAttribute="leading" id="ydL-OO-314"/>
223 </constraints> 213 </constraints>
224 </view> 214 </view>
225 - <navigationItem key="navigationItem" id="fCE-jD-MLQ"/> 215 + <navigationItem key="navigationItem" title="资源" id="q2d-RH-EiL"/>
226 <connections> 216 <connections>
227 <outlet property="grayView" destination="egd-vU-DWS" id="BJW-OO-Xca"/> 217 <outlet property="grayView" destination="egd-vU-DWS" id="BJW-OO-Xca"/>
228 <outlet property="searchDisplayController" destination="k0q-9e-h1a" id="f1i-NC-WU2"/> 218 <outlet property="searchDisplayController" destination="k0q-9e-h1a" id="f1i-NC-WU2"/>
@@ -248,7 +238,7 @@ @@ -248,7 +238,7 @@
248 </objects> 238 </objects>
249 <point key="canvasLocation" x="-1084" y="2112.5937031484259"/> 239 <point key="canvasLocation" x="-1084" y="2112.5937031484259"/>
250 </scene> 240 </scene>
251 - <!--Main Home Table View Controller--> 241 + <!--教育视频云-->
252 <scene sceneID="Npa-Do-pvj"> 242 <scene sceneID="Npa-Do-pvj">
253 <objects> 243 <objects>
254 <tableViewController id="HdB-6p-eAX" customClass="MainHomeTableViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController"> 244 <tableViewController id="HdB-6p-eAX" customClass="MainHomeTableViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController">
@@ -262,7 +252,7 @@ @@ -262,7 +252,7 @@
262 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 252 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
263 </view> 253 </view>
264 <view key="tableFooterView" contentMode="scaleToFill" id="1qL-hk-kYn"> 254 <view key="tableFooterView" contentMode="scaleToFill" id="1qL-hk-kYn">
265 - <rect key="frame" x="0.0" y="1036" width="375" height="1"/> 255 + <rect key="frame" x="0.0" y="1129" width="375" height="1"/>
266 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> 256 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
267 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 257 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
268 </view> 258 </view>
@@ -277,60 +267,68 @@ @@ -277,60 +267,68 @@
277 <autoresizingMask key="autoresizingMask"/> 267 <autoresizingMask key="autoresizingMask"/>
278 <subviews> 268 <subviews>
279 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7wy-DL-PKX"> 269 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7wy-DL-PKX">
280 - <rect key="frame" x="0.0" y="0.0" width="375" height="20"/> 270 + <rect key="frame" x="0.0" y="0.0" width="375" height="15"/>
281 <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> 271 <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
282 <constraints> 272 <constraints>
283 - <constraint firstAttribute="height" constant="20" id="mtL-aK-O9I"/> 273 + <constraint firstAttribute="height" constant="15" id="mtL-aK-O9I"/>
284 </constraints> 274 </constraints>
285 </view> 275 </view>
286 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="tc9-OD-L9x"> 276 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="tc9-OD-L9x">
287 - <rect key="frame" x="8" y="28" width="30" height="30"/> 277 + <rect key="frame" x="15" y="30" width="20" height="20"/>
288 <constraints> 278 <constraints>
289 - <constraint firstAttribute="height" constant="30" id="dzU-2e-0A0"/>  
290 - <constraint firstAttribute="width" constant="30" id="jeW-Q1-Yqy"/> 279 + <constraint firstAttribute="height" constant="20" id="dzU-2e-0A0"/>
  280 + <constraint firstAttribute="width" constant="20" id="jeW-Q1-Yqy"/>
291 </constraints> 281 </constraints>
292 </imageView> 282 </imageView>
293 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="gpI-zw-6qq"> 283 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="gpI-zw-6qq">
294 - <rect key="frame" x="337" y="28" width="30" height="30"/> 284 + <rect key="frame" x="352" y="32.5" width="8" height="15"/>
  285 + <color key="backgroundColor" red="0.10980392160000001" green="0.63529411759999999" blue="1" alpha="1" colorSpace="calibratedRGB"/>
295 <constraints> 286 <constraints>
296 - <constraint firstAttribute="width" constant="30" id="X2b-MK-4bQ"/>  
297 - <constraint firstAttribute="height" constant="30" id="ZkK-Yr-R26"/> 287 + <constraint firstAttribute="width" constant="8" id="X2b-MK-4bQ"/>
  288 + <constraint firstAttribute="height" constant="15" id="ZkK-Yr-R26"/>
298 </constraints> 289 </constraints>
299 </imageView> 290 </imageView>
300 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="排行" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qcg-Fh-r2v"> 291 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="排行" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qcg-Fh-r2v">
301 - <rect key="frame" x="46" y="33" width="35" height="21"/>  
302 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
303 - <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> 292 + <rect key="frame" x="55" y="30.5" width="31" height="18"/>
  293 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  294 + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
304 <nil key="highlightedColor"/> 295 <nil key="highlightedColor"/>
305 </label> 296 </label>
306 <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="BjK-Gw-VeS"> 297 <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="BjK-Gw-VeS">
307 - <rect key="frame" x="8" y="83" width="359" height="129"/> 298 + <rect key="frame" x="15" y="65" width="345" height="132"/>
308 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 299 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
309 <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="gds-Wd-nlX"> 300 <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="gds-Wd-nlX">
310 - <size key="itemSize" width="106" height="113"/> 301 + <size key="itemSize" width="126" height="133"/>
311 <size key="headerReferenceSize" width="0.0" height="0.0"/> 302 <size key="headerReferenceSize" width="0.0" height="0.0"/>
312 <size key="footerReferenceSize" width="0.0" height="0.0"/> 303 <size key="footerReferenceSize" width="0.0" height="0.0"/>
313 <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/> 304 <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
314 </collectionViewFlowLayout> 305 </collectionViewFlowLayout>
315 <cells> 306 <cells>
316 <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="HomeFirstCollectionViewCell" id="0XL-6V-xV9" customClass="HomeFirstCollectionViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> 307 <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="HomeFirstCollectionViewCell" id="0XL-6V-xV9" customClass="HomeFirstCollectionViewCell" customModule="YouerLiveVideo" customModuleProvider="target">
317 - <rect key="frame" x="0.0" y="0.0" width="106" height="113"/> 308 + <rect key="frame" x="0.0" y="0.0" width="126" height="133"/>
318 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> 309 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
319 <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> 310 <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
320 - <rect key="frame" x="0.0" y="0.0" width="106" height="113"/> 311 + <rect key="frame" x="0.0" y="0.0" width="126" height="133"/>
321 <autoresizingMask key="autoresizingMask"/> 312 <autoresizingMask key="autoresizingMask"/>
322 <subviews> 313 <subviews>
323 - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="633-X9-DpN">  
324 - <rect key="frame" x="0.0" y="0.0" width="106" height="113"/> 314 + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="633-X9-DpN">
  315 + <rect key="frame" x="0.0" y="0.0" width="126" height="133"/>
  316 + <userDefinedRuntimeAttributes>
  317 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  318 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  319 + <integer key="value" value="5"/>
  320 + </userDefinedRuntimeAttribute>
  321 + </userDefinedRuntimeAttributes>
325 </imageView> 322 </imageView>
326 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="学校" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AAa-2a-bHH"> 323 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="学校" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AAa-2a-bHH">
327 - <rect key="frame" x="8" y="8" width="35" height="21"/>  
328 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
329 - <nil key="textColor"/> 324 + <rect key="frame" x="8" y="8" width="31" height="18"/>
  325 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  326 + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
330 <nil key="highlightedColor"/> 327 <nil key="highlightedColor"/>
331 </label> 328 </label>
332 </subviews> 329 </subviews>
333 </view> 330 </view>
  331 + <color key="backgroundColor" red="0.10980392160000001" green="0.63529411759999999" blue="1" alpha="1" colorSpace="calibratedRGB"/>
334 <constraints> 332 <constraints>
335 <constraint firstItem="633-X9-DpN" firstAttribute="leading" secondItem="0XL-6V-xV9" secondAttribute="leading" id="G57-Qp-dfe"/> 333 <constraint firstItem="633-X9-DpN" firstAttribute="leading" secondItem="0XL-6V-xV9" secondAttribute="leading" id="G57-Qp-dfe"/>
336 <constraint firstItem="AAa-2a-bHH" firstAttribute="top" secondItem="0XL-6V-xV9" secondAttribute="top" constant="8" id="Iul-8f-BwX"/> 334 <constraint firstItem="AAa-2a-bHH" firstAttribute="top" secondItem="0XL-6V-xV9" secondAttribute="top" constant="8" id="Iul-8f-BwX"/>
@@ -352,75 +350,75 @@ @@ -352,75 +350,75 @@
352 </collectionView> 350 </collectionView>
353 </subviews> 351 </subviews>
354 <constraints> 352 <constraints>
355 - <constraint firstItem="BjK-Gw-VeS" firstAttribute="top" secondItem="gpI-zw-6qq" secondAttribute="bottom" constant="25" id="28f-X5-SdT"/>  
356 - <constraint firstItem="tc9-OD-L9x" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="top" constant="28" id="FmW-tn-Ne9"/>  
357 - <constraint firstItem="tc9-OD-L9x" firstAttribute="leading" secondItem="6kt-xb-IdN" secondAttribute="leading" constant="8" id="H9H-ud-58B"/>  
358 - <constraint firstAttribute="trailing" secondItem="gpI-zw-6qq" secondAttribute="trailing" constant="8" id="TOV-dd-5uu"/> 353 + <constraint firstItem="tc9-OD-L9x" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="top" constant="30" id="FmW-tn-Ne9"/>
  354 + <constraint firstItem="tc9-OD-L9x" firstAttribute="leading" secondItem="6kt-xb-IdN" secondAttribute="leading" constant="15" id="H9H-ud-58B"/>
  355 + <constraint firstAttribute="trailing" secondItem="gpI-zw-6qq" secondAttribute="trailing" constant="15" id="TOV-dd-5uu"/>
359 <constraint firstAttribute="trailing" secondItem="7wy-DL-PKX" secondAttribute="trailing" id="VW0-SV-RMy"/> 356 <constraint firstAttribute="trailing" secondItem="7wy-DL-PKX" secondAttribute="trailing" id="VW0-SV-RMy"/>
360 - <constraint firstItem="qcg-Fh-r2v" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="topMargin" constant="25" id="XhC-hV-TPX"/> 357 + <constraint firstItem="qcg-Fh-r2v" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="topMargin" constant="22.5" id="XhC-hV-TPX"/>
361 <constraint firstItem="7wy-DL-PKX" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="top" id="YbM-fT-qi7"/> 358 <constraint firstItem="7wy-DL-PKX" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="top" id="YbM-fT-qi7"/>
362 - <constraint firstItem="BjK-Gw-VeS" firstAttribute="leading" secondItem="6kt-xb-IdN" secondAttribute="leading" constant="8" id="fES-Cd-ybP"/>  
363 - <constraint firstAttribute="bottom" secondItem="BjK-Gw-VeS" secondAttribute="bottom" id="iOk-mu-PWT"/> 359 + <constraint firstItem="BjK-Gw-VeS" firstAttribute="leading" secondItem="6kt-xb-IdN" secondAttribute="leading" constant="15" id="fES-Cd-ybP"/>
  360 + <constraint firstAttribute="bottom" secondItem="BjK-Gw-VeS" secondAttribute="bottom" constant="15" id="iOk-mu-PWT"/>
364 <constraint firstItem="7wy-DL-PKX" firstAttribute="leading" secondItem="6kt-xb-IdN" secondAttribute="leading" id="s4K-qo-g3e"/> 361 <constraint firstItem="7wy-DL-PKX" firstAttribute="leading" secondItem="6kt-xb-IdN" secondAttribute="leading" id="s4K-qo-g3e"/>
365 - <constraint firstItem="qcg-Fh-r2v" firstAttribute="leading" secondItem="tc9-OD-L9x" secondAttribute="trailing" constant="8" id="sZ7-sT-QdJ"/>  
366 - <constraint firstAttribute="trailing" secondItem="BjK-Gw-VeS" secondAttribute="trailing" constant="8" id="ujX-8f-TtW"/>  
367 - <constraint firstItem="gpI-zw-6qq" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="top" constant="28" id="yQW-LA-9fx"/> 362 + <constraint firstItem="qcg-Fh-r2v" firstAttribute="leading" secondItem="tc9-OD-L9x" secondAttribute="trailing" constant="20" id="sZ7-sT-QdJ"/>
  363 + <constraint firstAttribute="trailing" secondItem="BjK-Gw-VeS" secondAttribute="trailing" constant="15" id="ujX-8f-TtW"/>
  364 + <constraint firstItem="BjK-Gw-VeS" firstAttribute="top" secondItem="tc9-OD-L9x" secondAttribute="bottom" constant="15" id="ukg-8D-CZH"/>
  365 + <constraint firstItem="gpI-zw-6qq" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="top" constant="32.5" id="yQW-LA-9fx"/>
368 </constraints> 366 </constraints>
369 </tableViewCellContentView> 367 </tableViewCellContentView>
370 </tableViewCell> 368 </tableViewCell>
371 - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="cell1" selectionStyle="none" indentationWidth="10" reuseIdentifier="cell1" rowHeight="239" id="ZCI-0y-Uf0" customClass="HomeSecondTableViewCell" customModule="YouerLiveVideo" customModuleProvider="target">  
372 - <rect key="frame" x="0.0" y="364" width="375" height="239"/> 369 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="cell1" selectionStyle="none" indentationWidth="10" reuseIdentifier="cell1" rowHeight="252" id="ZCI-0y-Uf0" customClass="HomeSecondTableViewCell" customModule="YouerLiveVideo" customModuleProvider="target">
  370 + <rect key="frame" x="0.0" y="364" width="375" height="252"/>
373 <autoresizingMask key="autoresizingMask"/> 371 <autoresizingMask key="autoresizingMask"/>
374 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="ZCI-0y-Uf0" id="Cq0-Rg-if7"> 372 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="ZCI-0y-Uf0" id="Cq0-Rg-if7">
375 - <rect key="frame" x="0.0" y="0.0" width="375" height="239"/> 373 + <rect key="frame" x="0.0" y="0.0" width="375" height="252"/>
376 <autoresizingMask key="autoresizingMask"/> 374 <autoresizingMask key="autoresizingMask"/>
377 <subviews> 375 <subviews>
378 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="X1l-jG-Huh"> 376 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="X1l-jG-Huh">
379 - <rect key="frame" x="0.0" y="0.0" width="375" height="20"/> 377 + <rect key="frame" x="0.0" y="0.0" width="375" height="15"/>
380 <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> 378 <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
381 <constraints> 379 <constraints>
382 - <constraint firstAttribute="height" constant="20" id="cu9-3U-16R"/> 380 + <constraint firstAttribute="height" constant="15" id="cu9-3U-16R"/>
383 </constraints> 381 </constraints>
384 </view> 382 </view>
385 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="JfT-qO-w2b"> 383 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="JfT-qO-w2b">
386 - <rect key="frame" x="8" y="28" width="30" height="30"/> 384 + <rect key="frame" x="15" y="30" width="20" height="20"/>
387 <constraints> 385 <constraints>
388 - <constraint firstAttribute="width" constant="30" id="gju-0Y-vbI"/>  
389 - <constraint firstAttribute="height" constant="30" id="upC-qc-OXv"/> 386 + <constraint firstAttribute="width" constant="20" id="gju-0Y-vbI"/>
  387 + <constraint firstAttribute="height" constant="20" id="upC-qc-OXv"/>
390 </constraints> 388 </constraints>
391 </imageView> 389 </imageView>
392 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="QcE-wo-WjW"> 390 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="QcE-wo-WjW">
393 - <rect key="frame" x="337" y="28" width="30" height="30"/> 391 + <rect key="frame" x="352" y="32.5" width="8" height="15"/>
394 <constraints> 392 <constraints>
395 - <constraint firstAttribute="width" constant="30" id="6rP-92-fox"/>  
396 - <constraint firstAttribute="height" constant="30" id="DH3-jE-L3a"/> 393 + <constraint firstAttribute="width" constant="8" id="6rP-92-fox"/>
  394 + <constraint firstAttribute="height" constant="15" id="DH3-jE-L3a"/>
397 </constraints> 395 </constraints>
398 </imageView> 396 </imageView>
399 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="热门微课" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Xxv-Eh-YJD"> 397 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="热门微课" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Xxv-Eh-YJD">
400 - <rect key="frame" x="46" y="33" width="69.5" height="21"/>  
401 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
402 - <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> 398 + <rect key="frame" x="55" y="31" width="61.5" height="18"/>
  399 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  400 + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
403 <nil key="highlightedColor"/> 401 <nil key="highlightedColor"/>
404 </label> 402 </label>
405 <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" tag="1" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="RVe-Pr-T23"> 403 <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" tag="1" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="RVe-Pr-T23">
406 - <rect key="frame" x="8" y="83" width="359" height="156"/> 404 + <rect key="frame" x="15" y="65" width="345" height="187"/>
407 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 405 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
408 <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="w5u-tk-vf4"> 406 <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="w5u-tk-vf4">
409 - <size key="itemSize" width="165" height="146"/> 407 + <size key="itemSize" width="207" height="193"/>
410 <size key="headerReferenceSize" width="0.0" height="0.0"/> 408 <size key="headerReferenceSize" width="0.0" height="0.0"/>
411 <size key="footerReferenceSize" width="0.0" height="0.0"/> 409 <size key="footerReferenceSize" width="0.0" height="0.0"/>
412 <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/> 410 <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
413 </collectionViewFlowLayout> 411 </collectionViewFlowLayout>
414 <cells> 412 <cells>
415 <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="HomeSecondCollectionViewCell" id="apu-hG-EEc" customClass="HomeSecondCollectionViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> 413 <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="HomeSecondCollectionViewCell" id="apu-hG-EEc" customClass="HomeSecondCollectionViewCell" customModule="YouerLiveVideo" customModuleProvider="target">
416 - <rect key="frame" x="0.0" y="0.0" width="165" height="146"/> 414 + <rect key="frame" x="69" y="0.0" width="207" height="193"/>
417 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> 415 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
418 <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> 416 <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
419 - <rect key="frame" x="0.0" y="0.0" width="165" height="146"/> 417 + <rect key="frame" x="0.0" y="0.0" width="207" height="193"/>
420 <autoresizingMask key="autoresizingMask"/> 418 <autoresizingMask key="autoresizingMask"/>
421 <subviews> 419 <subviews>
422 <imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="5g9-CD-vXa"> 420 <imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="5g9-CD-vXa">
423 - <rect key="frame" x="0.0" y="0.0" width="160" height="87.5"/> 421 + <rect key="frame" x="0.0" y="0.0" width="207" height="93.5"/>
424 <userDefinedRuntimeAttributes> 422 <userDefinedRuntimeAttributes>
425 <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/> 423 <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
426 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> 424 <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
@@ -429,37 +427,37 @@ @@ -429,37 +427,37 @@
429 </userDefinedRuntimeAttributes> 427 </userDefinedRuntimeAttributes>
430 </imageView> 428 </imageView>
431 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="神奇的线圈" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FRa-kP-4Or"> 429 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="神奇的线圈" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FRa-kP-4Or">
432 - <rect key="frame" x="0.0" y="97" width="117.5" height="18"/>  
433 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
434 - <nil key="textColor"/> 430 + <rect key="frame" x="0.0" y="136" width="164.5" height="17"/>
  431 + <fontDescription key="fontDescription" type="system" pointSize="14"/>
  432 + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
435 <nil key="highlightedColor"/> 433 <nil key="highlightedColor"/>
436 </label> 434 </label>
437 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="主讲师:老师" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Okq-ZI-Xh2"> 435 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="主讲师:老师" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Okq-ZI-Xh2">
438 - <rect key="frame" x="0.0" y="123" width="96" height="15"/> 436 + <rect key="frame" x="0.0" y="163" width="138" height="15"/>
439 <fontDescription key="fontDescription" type="system" pointSize="12"/> 437 <fontDescription key="fontDescription" type="system" pointSize="12"/>
440 <nil key="textColor"/> 438 <nil key="textColor"/>
441 <nil key="highlightedColor"/> 439 <nil key="highlightedColor"/>
442 </label> 440 </label>
443 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="01-01" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Z3c-Ai-wr8"> 441 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="01-01" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Z3c-Ai-wr8">
444 - <rect key="frame" x="125.5" y="99.5" width="34.5" height="16"/> 442 + <rect key="frame" x="172.5" y="137.5" width="34.5" height="16"/>
445 <constraints> 443 <constraints>
446 <constraint firstAttribute="width" constant="34.5" id="4Ms-Yd-VYH"/> 444 <constraint firstAttribute="width" constant="34.5" id="4Ms-Yd-VYH"/>
447 </constraints> 445 </constraints>
448 <fontDescription key="fontDescription" type="system" pointSize="13"/> 446 <fontDescription key="fontDescription" type="system" pointSize="13"/>
449 - <nil key="textColor"/> 447 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
450 <nil key="highlightedColor"/> 448 <nil key="highlightedColor"/>
451 </label> 449 </label>
452 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="99999" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tln-9q-8L4"> 450 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="99999" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tln-9q-8L4">
453 - <rect key="frame" x="121.5" y="123.5" width="38.5" height="14.5"/> 451 + <rect key="frame" x="168.5" y="163.5" width="38.5" height="14.5"/>
454 <fontDescription key="fontDescription" type="system" pointSize="12"/> 452 <fontDescription key="fontDescription" type="system" pointSize="12"/>
455 - <nil key="textColor"/> 453 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
456 <nil key="highlightedColor"/> 454 <nil key="highlightedColor"/>
457 </label> 455 </label>
458 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="Ah6-9S-zUX"> 456 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="Ah6-9S-zUX">
459 - <rect key="frame" x="104" y="123" width="15" height="15"/> 457 + <rect key="frame" x="154" y="167" width="12" height="8"/>
460 <constraints> 458 <constraints>
461 - <constraint firstAttribute="width" constant="15" id="Gst-KJ-hy2"/>  
462 - <constraint firstAttribute="height" constant="15" id="IB2-dY-89b"/> 459 + <constraint firstAttribute="width" constant="12" id="Gst-KJ-hy2"/>
  460 + <constraint firstAttribute="height" constant="8" id="IB2-dY-89b"/>
463 </constraints> 461 </constraints>
464 </imageView> 462 </imageView>
465 </subviews> 463 </subviews>
@@ -468,19 +466,19 @@ @@ -468,19 +466,19 @@
468 <constraint firstItem="Z3c-Ai-wr8" firstAttribute="leading" secondItem="FRa-kP-4Or" secondAttribute="trailing" constant="8" id="4L1-p3-lcO"/> 466 <constraint firstItem="Z3c-Ai-wr8" firstAttribute="leading" secondItem="FRa-kP-4Or" secondAttribute="trailing" constant="8" id="4L1-p3-lcO"/>
469 <constraint firstAttribute="trailingMargin" secondItem="Okq-ZI-Xh2" secondAttribute="trailing" constant="61" id="6V2-3e-YCS"/> 467 <constraint firstAttribute="trailingMargin" secondItem="Okq-ZI-Xh2" secondAttribute="trailing" constant="61" id="6V2-3e-YCS"/>
470 <constraint firstItem="5g9-CD-vXa" firstAttribute="leading" secondItem="apu-hG-EEc" secondAttribute="leading" id="8mz-9g-viB"/> 468 <constraint firstItem="5g9-CD-vXa" firstAttribute="leading" secondItem="apu-hG-EEc" secondAttribute="leading" id="8mz-9g-viB"/>
471 - <constraint firstItem="5g9-CD-vXa" firstAttribute="height" secondItem="apu-hG-EEc" secondAttribute="height" multiplier="3:5" id="Cna-LC-U6q"/>  
472 - <constraint firstAttribute="trailing" secondItem="tln-9q-8L4" secondAttribute="trailing" constant="5" id="E6O-vX-SmB"/>  
473 - <constraint firstItem="Okq-ZI-Xh2" firstAttribute="top" secondItem="FRa-kP-4Or" secondAttribute="bottom" constant="8" id="Jbx-d9-HO1"/> 469 + <constraint firstItem="5g9-CD-vXa" firstAttribute="height" secondItem="apu-hG-EEc" secondAttribute="height" multiplier="16:33" id="Cna-LC-U6q"/>
  470 + <constraint firstAttribute="trailing" secondItem="tln-9q-8L4" secondAttribute="trailing" id="E6O-vX-SmB"/>
  471 + <constraint firstItem="Okq-ZI-Xh2" firstAttribute="top" secondItem="FRa-kP-4Or" secondAttribute="bottom" constant="10" id="Jbx-d9-HO1"/>
474 <constraint firstItem="FRa-kP-4Or" firstAttribute="leading" secondItem="apu-hG-EEc" secondAttribute="leading" id="Ntj-vJ-hJ8"/> 472 <constraint firstItem="FRa-kP-4Or" firstAttribute="leading" secondItem="apu-hG-EEc" secondAttribute="leading" id="Ntj-vJ-hJ8"/>
475 - <constraint firstAttribute="bottom" secondItem="Okq-ZI-Xh2" secondAttribute="bottom" constant="8" id="QF3-cj-K1q"/> 473 + <constraint firstAttribute="bottom" secondItem="Okq-ZI-Xh2" secondAttribute="bottom" constant="15" id="QF3-cj-K1q"/>
476 <constraint firstItem="5g9-CD-vXa" firstAttribute="top" secondItem="apu-hG-EEc" secondAttribute="top" id="QVL-f3-dbA"/> 474 <constraint firstItem="5g9-CD-vXa" firstAttribute="top" secondItem="apu-hG-EEc" secondAttribute="top" id="QVL-f3-dbA"/>
477 - <constraint firstAttribute="bottom" secondItem="tln-9q-8L4" secondAttribute="bottom" constant="8" id="ZWt-gE-SDD"/> 475 + <constraint firstAttribute="bottom" secondItem="tln-9q-8L4" secondAttribute="bottom" constant="15" id="ZWt-gE-SDD"/>
478 <constraint firstItem="Okq-ZI-Xh2" firstAttribute="leading" secondItem="apu-hG-EEc" secondAttribute="leading" id="amA-JO-bBv"/> 476 <constraint firstItem="Okq-ZI-Xh2" firstAttribute="leading" secondItem="apu-hG-EEc" secondAttribute="leading" id="amA-JO-bBv"/>
479 - <constraint firstAttribute="trailing" secondItem="Z3c-Ai-wr8" secondAttribute="trailing" constant="5" id="gQg-P7-tzY"/> 477 + <constraint firstAttribute="trailing" secondItem="Z3c-Ai-wr8" secondAttribute="trailing" id="gQg-P7-tzY"/>
480 <constraint firstItem="tln-9q-8L4" firstAttribute="leading" secondItem="Ah6-9S-zUX" secondAttribute="trailing" constant="2.5" id="hcm-2p-mkH"/> 478 <constraint firstItem="tln-9q-8L4" firstAttribute="leading" secondItem="Ah6-9S-zUX" secondAttribute="trailing" constant="2.5" id="hcm-2p-mkH"/>
481 - <constraint firstAttribute="trailing" secondItem="5g9-CD-vXa" secondAttribute="trailing" constant="5" id="iYZ-VU-Qxd"/>  
482 - <constraint firstAttribute="bottomMargin" secondItem="Ah6-9S-zUX" secondAttribute="bottom" id="o2X-v5-iIB"/>  
483 - <constraint firstItem="tln-9q-8L4" firstAttribute="top" secondItem="Z3c-Ai-wr8" secondAttribute="bottom" constant="8" id="odz-bE-nss"/> 479 + <constraint firstAttribute="trailing" secondItem="5g9-CD-vXa" secondAttribute="trailing" id="iYZ-VU-Qxd"/>
  480 + <constraint firstAttribute="bottomMargin" secondItem="Ah6-9S-zUX" secondAttribute="bottom" constant="10" id="o2X-v5-iIB"/>
  481 + <constraint firstItem="tln-9q-8L4" firstAttribute="top" secondItem="Z3c-Ai-wr8" secondAttribute="bottom" constant="10" id="odz-bE-nss"/>
484 </constraints> 482 </constraints>
485 <connections> 483 <connections>
486 <outlet property="dateLabel" destination="Z3c-Ai-wr8" id="FRL-DX-Cjy"/> 484 <outlet property="dateLabel" destination="Z3c-Ai-wr8" id="FRL-DX-Cjy"/>
@@ -498,76 +496,76 @@ @@ -498,76 +496,76 @@
498 </collectionView> 496 </collectionView>
499 </subviews> 497 </subviews>
500 <constraints> 498 <constraints>
501 - <constraint firstItem="Xxv-Eh-YJD" firstAttribute="leading" secondItem="JfT-qO-w2b" secondAttribute="trailing" constant="8" id="Oh2-rT-AyR"/>  
502 - <constraint firstItem="JfT-qO-w2b" firstAttribute="top" secondItem="X1l-jG-Huh" secondAttribute="bottom" constant="8" id="Oq0-HW-fvi"/> 499 + <constraint firstItem="Xxv-Eh-YJD" firstAttribute="leading" secondItem="JfT-qO-w2b" secondAttribute="trailing" constant="20" id="Oh2-rT-AyR"/>
  500 + <constraint firstItem="JfT-qO-w2b" firstAttribute="top" secondItem="X1l-jG-Huh" secondAttribute="bottom" constant="15" id="Oq0-HW-fvi"/>
503 <constraint firstItem="X1l-jG-Huh" firstAttribute="leading" secondItem="Cq0-Rg-if7" secondAttribute="leading" id="PzB-GC-QTO"/> 501 <constraint firstItem="X1l-jG-Huh" firstAttribute="leading" secondItem="Cq0-Rg-if7" secondAttribute="leading" id="PzB-GC-QTO"/>
504 - <constraint firstItem="JfT-qO-w2b" firstAttribute="leading" secondItem="Cq0-Rg-if7" secondAttribute="leading" constant="8" id="Vk4-B0-rkr"/> 502 + <constraint firstItem="JfT-qO-w2b" firstAttribute="leading" secondItem="Cq0-Rg-if7" secondAttribute="leading" constant="15" id="Vk4-B0-rkr"/>
505 <constraint firstItem="X1l-jG-Huh" firstAttribute="top" secondItem="Cq0-Rg-if7" secondAttribute="top" id="VrV-Ys-kvx"/> 503 <constraint firstItem="X1l-jG-Huh" firstAttribute="top" secondItem="Cq0-Rg-if7" secondAttribute="top" id="VrV-Ys-kvx"/>
506 - <constraint firstAttribute="trailing" secondItem="RVe-Pr-T23" secondAttribute="trailing" constant="8" id="bZh-d7-on4"/>  
507 - <constraint firstItem="QcE-wo-WjW" firstAttribute="top" secondItem="X1l-jG-Huh" secondAttribute="bottom" constant="8" id="f8O-fQ-wlw"/> 504 + <constraint firstAttribute="trailing" secondItem="RVe-Pr-T23" secondAttribute="trailing" constant="15" id="bZh-d7-on4"/>
  505 + <constraint firstItem="QcE-wo-WjW" firstAttribute="top" secondItem="X1l-jG-Huh" secondAttribute="bottom" constant="17.5" id="f8O-fQ-wlw"/>
508 <constraint firstAttribute="bottom" secondItem="RVe-Pr-T23" secondAttribute="bottom" id="n4e-2D-Lhx"/> 506 <constraint firstAttribute="bottom" secondItem="RVe-Pr-T23" secondAttribute="bottom" id="n4e-2D-Lhx"/>
509 - <constraint firstItem="RVe-Pr-T23" firstAttribute="leading" secondItem="Cq0-Rg-if7" secondAttribute="leading" constant="8" id="npx-Ap-jZy"/>  
510 - <constraint firstItem="RVe-Pr-T23" firstAttribute="top" secondItem="QcE-wo-WjW" secondAttribute="bottom" constant="25" id="qSC-rl-7ob"/> 507 + <constraint firstItem="RVe-Pr-T23" firstAttribute="leading" secondItem="Cq0-Rg-if7" secondAttribute="leading" constant="15" id="npx-Ap-jZy"/>
  508 + <constraint firstItem="RVe-Pr-T23" firstAttribute="top" secondItem="JfT-qO-w2b" secondAttribute="bottom" constant="15" id="qT2-1K-3u3"/>
511 <constraint firstAttribute="trailing" secondItem="X1l-jG-Huh" secondAttribute="trailing" id="r4k-87-FG5"/> 509 <constraint firstAttribute="trailing" secondItem="X1l-jG-Huh" secondAttribute="trailing" id="r4k-87-FG5"/>
512 - <constraint firstItem="Xxv-Eh-YJD" firstAttribute="top" secondItem="X1l-jG-Huh" secondAttribute="bottom" constant="13" id="rRq-W3-cJT"/>  
513 - <constraint firstAttribute="trailing" secondItem="QcE-wo-WjW" secondAttribute="trailing" constant="8" id="wTk-uV-bbq"/> 510 + <constraint firstItem="Xxv-Eh-YJD" firstAttribute="top" secondItem="X1l-jG-Huh" secondAttribute="bottom" constant="16" id="rRq-W3-cJT"/>
  511 + <constraint firstAttribute="trailing" secondItem="QcE-wo-WjW" secondAttribute="trailing" constant="15" id="wTk-uV-bbq"/>
514 </constraints> 512 </constraints>
515 </tableViewCellContentView> 513 </tableViewCellContentView>
516 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 514 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
517 </tableViewCell> 515 </tableViewCell>
518 <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="cell2" selectionStyle="none" indentationWidth="10" reuseIdentifier="cell2" rowHeight="313" id="gzq-jC-D39" customClass="HomeThirdTableViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> 516 <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="cell2" selectionStyle="none" indentationWidth="10" reuseIdentifier="cell2" rowHeight="313" id="gzq-jC-D39" customClass="HomeThirdTableViewCell" customModule="YouerLiveVideo" customModuleProvider="target">
519 - <rect key="frame" x="0.0" y="603" width="375" height="313"/> 517 + <rect key="frame" x="0.0" y="616" width="375" height="313"/>
520 <autoresizingMask key="autoresizingMask"/> 518 <autoresizingMask key="autoresizingMask"/>
521 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="gzq-jC-D39" id="kA1-Za-kS2"> 519 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="gzq-jC-D39" id="kA1-Za-kS2">
522 <rect key="frame" x="0.0" y="0.0" width="375" height="313"/> 520 <rect key="frame" x="0.0" y="0.0" width="375" height="313"/>
523 <autoresizingMask key="autoresizingMask"/> 521 <autoresizingMask key="autoresizingMask"/>
524 <subviews> 522 <subviews>
525 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9Zz-SB-8Fl"> 523 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9Zz-SB-8Fl">
526 - <rect key="frame" x="0.0" y="0.0" width="375" height="20"/> 524 + <rect key="frame" x="0.0" y="0.0" width="375" height="15"/>
527 <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> 525 <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
528 <constraints> 526 <constraints>
529 - <constraint firstAttribute="height" constant="20" id="zk7-4f-Srd"/> 527 + <constraint firstAttribute="height" constant="15" id="zk7-4f-Srd"/>
530 </constraints> 528 </constraints>
531 </view> 529 </view>
532 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="UWk-5A-PEj"> 530 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="UWk-5A-PEj">
533 - <rect key="frame" x="8" y="28" width="30" height="30"/> 531 + <rect key="frame" x="15" y="30" width="20" height="20"/>
534 <constraints> 532 <constraints>
535 - <constraint firstAttribute="width" constant="30" id="c35-8L-oxO"/>  
536 - <constraint firstAttribute="height" constant="30" id="iOy-11-gMR"/> 533 + <constraint firstAttribute="width" constant="20" id="c35-8L-oxO"/>
  534 + <constraint firstAttribute="height" constant="20" id="iOy-11-gMR"/>
537 </constraints> 535 </constraints>
538 </imageView> 536 </imageView>
539 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="Tib-Fm-A1U"> 537 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="Tib-Fm-A1U">
540 - <rect key="frame" x="337" y="28" width="30" height="30"/> 538 + <rect key="frame" x="352" y="32.5" width="8" height="15"/>
541 <constraints> 539 <constraints>
542 - <constraint firstAttribute="height" constant="30" id="5ek-5S-7Cb"/>  
543 - <constraint firstAttribute="width" constant="30" id="k5G-EP-9l9"/> 540 + <constraint firstAttribute="height" constant="15" id="5ek-5S-7Cb"/>
  541 + <constraint firstAttribute="width" constant="8" id="k5G-EP-9l9"/>
544 </constraints> 542 </constraints>
545 </imageView> 543 </imageView>
546 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="资源" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nKJ-qz-sg8"> 544 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="资源" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nKJ-qz-sg8">
547 - <rect key="frame" x="46" y="33" width="35" height="21"/>  
548 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
549 - <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> 545 + <rect key="frame" x="50" y="31" width="31" height="18"/>
  546 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  547 + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
550 <nil key="highlightedColor"/> 548 <nil key="highlightedColor"/>
551 </label> 549 </label>
552 - <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" tag="1" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="0uI-9D-XVZ">  
553 - <rect key="frame" x="8" y="83" width="359" height="230"/> 550 + <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" tag="1" contentMode="scaleToFill" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="0uI-9D-XVZ">
  551 + <rect key="frame" x="15" y="65" width="345" height="248"/>
554 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 552 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
555 <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="f2C-TL-VTa"> 553 <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="f2C-TL-VTa">
556 - <size key="itemSize" width="113" height="222"/> 554 + <size key="itemSize" width="147" height="246"/>
557 <size key="headerReferenceSize" width="0.0" height="0.0"/> 555 <size key="headerReferenceSize" width="0.0" height="0.0"/>
558 <size key="footerReferenceSize" width="0.0" height="0.0"/> 556 <size key="footerReferenceSize" width="0.0" height="0.0"/>
559 <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/> 557 <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
560 </collectionViewFlowLayout> 558 </collectionViewFlowLayout>
561 <cells> 559 <cells>
562 <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="HomeThirdCollectionViewCell" id="gdp-Ji-zur" customClass="HomeThirdCollectionViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> 560 <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="HomeThirdCollectionViewCell" id="gdp-Ji-zur" customClass="HomeThirdCollectionViewCell" customModule="YouerLiveVideo" customModuleProvider="target">
563 - <rect key="frame" x="0.0" y="0.0" width="113" height="222"/> 561 + <rect key="frame" x="0.0" y="0.0" width="147" height="246"/>
564 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> 562 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
565 <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> 563 <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
566 - <rect key="frame" x="0.0" y="0.0" width="113" height="222"/> 564 + <rect key="frame" x="0.0" y="0.0" width="147" height="246"/>
567 <autoresizingMask key="autoresizingMask"/> 565 <autoresizingMask key="autoresizingMask"/>
568 <subviews> 566 <subviews>
569 <imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="bUk-R1-5gT"> 567 <imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="bUk-R1-5gT">
570 - <rect key="frame" x="0.0" y="0.0" width="108" height="108"/> 568 + <rect key="frame" x="0.0" y="0.0" width="147" height="147"/>
571 <constraints> 569 <constraints>
572 <constraint firstAttribute="width" secondItem="bUk-R1-5gT" secondAttribute="height" multiplier="1:1" id="MTe-oF-wJF"/> 570 <constraint firstAttribute="width" secondItem="bUk-R1-5gT" secondAttribute="height" multiplier="1:1" id="MTe-oF-wJF"/>
573 </constraints> 571 </constraints>
@@ -578,62 +576,66 @@ @@ -578,62 +576,66 @@
578 </userDefinedRuntimeAttribute> 576 </userDefinedRuntimeAttribute>
579 </userDefinedRuntimeAttributes> 577 </userDefinedRuntimeAttributes>
580 </imageView> 578 </imageView>
581 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="神奇的线圈神奇的线圈神奇的线圈" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Zk6-bu-T1Z">  
582 - <rect key="frame" x="0.0" y="125" width="108" height="42"/> 579 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="神奇的线圈神奇的线圈神奇的线圈神奇的线圈神奇的线圈神奇的线圈" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Zk6-bu-T1Z">
  580 + <rect key="frame" x="0.0" y="150.5" width="147" height="30"/>
583 <constraints> 581 <constraints>
584 - <constraint firstAttribute="height" constant="42" id="9Hi-f9-B2N"/> 582 + <constraint firstAttribute="height" constant="30" id="5EB-ra-Pnh"/>
585 </constraints> 583 </constraints>
586 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
587 - <nil key="textColor"/> 584 + <fontDescription key="fontDescription" type="system" pointSize="12"/>
  585 + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
588 <nil key="highlightedColor"/> 586 <nil key="highlightedColor"/>
589 </label> 587 </label>
590 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="01-01" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="q2O-JU-nOk"> 588 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="01-01" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="q2O-JU-nOk">
591 - <rect key="frame" x="0.0" y="198" width="44" height="16"/>  
592 - <fontDescription key="fontDescription" type="system" pointSize="13"/>  
593 - <nil key="textColor"/> 589 + <rect key="frame" x="0.0" y="216" width="100" height="15"/>
  590 + <constraints>
  591 + <constraint firstAttribute="height" constant="15" id="FNC-fa-EYl"/>
  592 + </constraints>
  593 + <fontDescription key="fontDescription" type="system" pointSize="12"/>
  594 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
594 <nil key="highlightedColor"/> 595 <nil key="highlightedColor"/>
595 </label> 596 </label>
596 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="99999" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ens-w5-JNf"> 597 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="99999" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ens-w5-JNf">
597 - <rect key="frame" x="69" y="199" width="39" height="15"/> 598 + <rect key="frame" x="108" y="216" width="39" height="15"/>
598 <fontDescription key="fontDescription" type="system" pointSize="12"/> 599 <fontDescription key="fontDescription" type="system" pointSize="12"/>
599 - <nil key="textColor"/> 600 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
600 <nil key="highlightedColor"/> 601 <nil key="highlightedColor"/>
601 </label> 602 </label>
602 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="j8z-Dm-5mL"> 603 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="j8z-Dm-5mL">
603 - <rect key="frame" x="52" y="199" width="15" height="15"/> 604 + <rect key="frame" x="100" y="220" width="8" height="8"/>
604 <constraints> 605 <constraints>
605 - <constraint firstAttribute="width" constant="15" id="f5p-Mv-Ylo"/>  
606 - <constraint firstAttribute="height" constant="15" id="yKI-Iv-ctT"/> 606 + <constraint firstAttribute="width" constant="8" id="f5p-Mv-Ylo"/>
  607 + <constraint firstAttribute="height" constant="8" id="yKI-Iv-ctT"/>
607 </constraints> 608 </constraints>
608 </imageView> 609 </imageView>
609 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="上传者:老师" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vag-ao-LKQ"> 610 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="上传者:老师" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vag-ao-LKQ">
610 - <rect key="frame" x="0.0" y="175" width="108" height="15"/> 611 + <rect key="frame" x="0.0" y="191" width="147" height="15"/>
611 <constraints> 612 <constraints>
612 <constraint firstAttribute="height" constant="15" id="8nl-am-VuO"/> 613 <constraint firstAttribute="height" constant="15" id="8nl-am-VuO"/>
613 </constraints> 614 </constraints>
614 <fontDescription key="fontDescription" type="system" pointSize="12"/> 615 <fontDescription key="fontDescription" type="system" pointSize="12"/>
615 - <nil key="textColor"/> 616 + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
616 <nil key="highlightedColor"/> 617 <nil key="highlightedColor"/>
617 </label> 618 </label>
618 </subviews> 619 </subviews>
619 </view> 620 </view>
  621 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
620 <constraints> 622 <constraints>
621 - <constraint firstItem="Ens-w5-JNf" firstAttribute="leading" secondItem="j8z-Dm-5mL" secondAttribute="trailing" constant="2.5" id="64X-uP-6eu"/>  
622 - <constraint firstAttribute="trailing" secondItem="vag-ao-LKQ" secondAttribute="trailing" constant="5" id="8jK-AG-5BE"/>  
623 - <constraint firstItem="q2O-JU-nOk" firstAttribute="top" secondItem="vag-ao-LKQ" secondAttribute="bottom" constant="8" id="BxM-zs-idP"/>  
624 - <constraint firstAttribute="bottomMargin" secondItem="j8z-Dm-5mL" secondAttribute="bottom" id="CTt-Wl-pgl"/>  
625 - <constraint firstAttribute="bottom" secondItem="Ens-w5-JNf" secondAttribute="bottom" constant="8" id="CYj-Yh-ykl"/> 623 + <constraint firstItem="Ens-w5-JNf" firstAttribute="leading" secondItem="j8z-Dm-5mL" secondAttribute="trailing" id="64X-uP-6eu"/>
  624 + <constraint firstAttribute="trailing" secondItem="vag-ao-LKQ" secondAttribute="trailing" id="8jK-AG-5BE"/>
  625 + <constraint firstItem="q2O-JU-nOk" firstAttribute="top" secondItem="vag-ao-LKQ" secondAttribute="bottom" constant="10" id="BxM-zs-idP"/>
  626 + <constraint firstAttribute="bottom" secondItem="Ens-w5-JNf" secondAttribute="bottom" constant="15" id="CYj-Yh-ykl"/>
626 <constraint firstItem="vag-ao-LKQ" firstAttribute="leading" secondItem="gdp-Ji-zur" secondAttribute="leading" id="Djn-nH-5tu"/> 627 <constraint firstItem="vag-ao-LKQ" firstAttribute="leading" secondItem="gdp-Ji-zur" secondAttribute="leading" id="Djn-nH-5tu"/>
627 - <constraint firstItem="vag-ao-LKQ" firstAttribute="top" secondItem="Zk6-bu-T1Z" secondAttribute="bottom" constant="8" id="TUh-h3-ZgZ"/>  
628 - <constraint firstAttribute="bottom" secondItem="q2O-JU-nOk" secondAttribute="bottom" constant="8" id="URf-Pj-lNP"/> 628 + <constraint firstItem="vag-ao-LKQ" firstAttribute="top" secondItem="Zk6-bu-T1Z" secondAttribute="bottom" constant="10" id="TUh-h3-ZgZ"/>
  629 + <constraint firstAttribute="bottom" secondItem="q2O-JU-nOk" secondAttribute="bottom" constant="15" id="URf-Pj-lNP"/>
629 <constraint firstItem="Zk6-bu-T1Z" firstAttribute="leading" secondItem="gdp-Ji-zur" secondAttribute="leading" id="Vng-Q4-dJt"/> 630 <constraint firstItem="Zk6-bu-T1Z" firstAttribute="leading" secondItem="gdp-Ji-zur" secondAttribute="leading" id="Vng-Q4-dJt"/>
630 - <constraint firstAttribute="trailing" secondItem="Ens-w5-JNf" secondAttribute="trailing" constant="5" id="WIv-BG-KUZ"/> 631 + <constraint firstAttribute="trailing" secondItem="Ens-w5-JNf" secondAttribute="trailing" id="WIv-BG-KUZ"/>
631 <constraint firstItem="bUk-R1-5gT" firstAttribute="leading" secondItem="gdp-Ji-zur" secondAttribute="leading" id="X8S-q4-Yjy"/> 632 <constraint firstItem="bUk-R1-5gT" firstAttribute="leading" secondItem="gdp-Ji-zur" secondAttribute="leading" id="X8S-q4-Yjy"/>
632 - <constraint firstAttribute="trailing" secondItem="Zk6-bu-T1Z" secondAttribute="trailing" constant="5" id="ZCV-WC-xJv"/>  
633 - <constraint firstAttribute="trailingMargin" secondItem="q2O-JU-nOk" secondAttribute="trailing" constant="61" id="ojG-9i-zX4"/> 633 + <constraint firstAttribute="trailing" secondItem="Zk6-bu-T1Z" secondAttribute="trailing" id="ZCV-WC-xJv"/>
  634 + <constraint firstAttribute="trailingMargin" secondItem="q2O-JU-nOk" secondAttribute="trailing" constant="39" id="ojG-9i-zX4"/>
634 <constraint firstItem="bUk-R1-5gT" firstAttribute="top" secondItem="gdp-Ji-zur" secondAttribute="top" id="q6C-YR-cFO"/> 635 <constraint firstItem="bUk-R1-5gT" firstAttribute="top" secondItem="gdp-Ji-zur" secondAttribute="top" id="q6C-YR-cFO"/>
635 <constraint firstItem="q2O-JU-nOk" firstAttribute="leading" secondItem="gdp-Ji-zur" secondAttribute="leading" id="qUh-gl-kWl"/> 636 <constraint firstItem="q2O-JU-nOk" firstAttribute="leading" secondItem="gdp-Ji-zur" secondAttribute="leading" id="qUh-gl-kWl"/>
636 - <constraint firstAttribute="trailing" secondItem="bUk-R1-5gT" secondAttribute="trailing" constant="5" id="xj0-qF-rhP"/> 637 + <constraint firstAttribute="bottomMargin" secondItem="j8z-Dm-5mL" secondAttribute="bottom" constant="10" id="vef-74-Jan"/>
  638 + <constraint firstAttribute="trailing" secondItem="bUk-R1-5gT" secondAttribute="trailing" id="xj0-qF-rhP"/>
637 </constraints> 639 </constraints>
638 <connections> 640 <connections>
639 <outlet property="dateLabel" destination="q2O-JU-nOk" id="cCA-VL-aAf"/> 641 <outlet property="dateLabel" destination="q2O-JU-nOk" id="cCA-VL-aAf"/>
@@ -651,61 +653,61 @@ @@ -651,61 +653,61 @@
651 </collectionView> 653 </collectionView>
652 </subviews> 654 </subviews>
653 <constraints> 655 <constraints>
654 - <constraint firstItem="Tib-Fm-A1U" firstAttribute="top" secondItem="9Zz-SB-8Fl" secondAttribute="bottom" constant="8" id="35X-cd-fAU"/>  
655 - <constraint firstItem="nKJ-qz-sg8" firstAttribute="top" secondItem="9Zz-SB-8Fl" secondAttribute="bottom" constant="13" id="A8h-XS-V9X"/>  
656 - <constraint firstItem="UWk-5A-PEj" firstAttribute="leading" secondItem="kA1-Za-kS2" secondAttribute="leading" constant="8" id="GTt-JU-67B"/> 656 + <constraint firstItem="Tib-Fm-A1U" firstAttribute="top" secondItem="9Zz-SB-8Fl" secondAttribute="bottom" constant="17.5" id="35X-cd-fAU"/>
  657 + <constraint firstItem="nKJ-qz-sg8" firstAttribute="top" secondItem="9Zz-SB-8Fl" secondAttribute="bottom" constant="16" id="A8h-XS-V9X"/>
  658 + <constraint firstItem="UWk-5A-PEj" firstAttribute="leading" secondItem="kA1-Za-kS2" secondAttribute="leading" constant="15" id="GTt-JU-67B"/>
657 <constraint firstAttribute="bottom" secondItem="0uI-9D-XVZ" secondAttribute="bottom" id="IiM-YI-cmg"/> 659 <constraint firstAttribute="bottom" secondItem="0uI-9D-XVZ" secondAttribute="bottom" id="IiM-YI-cmg"/>
658 - <constraint firstItem="0uI-9D-XVZ" firstAttribute="top" secondItem="Tib-Fm-A1U" secondAttribute="bottom" constant="25" id="NOs-5g-r1E"/>  
659 - <constraint firstAttribute="trailing" secondItem="Tib-Fm-A1U" secondAttribute="trailing" constant="8" id="Rg7-Q9-IdK"/>  
660 - <constraint firstItem="nKJ-qz-sg8" firstAttribute="leading" secondItem="UWk-5A-PEj" secondAttribute="trailing" constant="8" id="TRM-qN-0jP"/> 660 + <constraint firstAttribute="trailing" secondItem="Tib-Fm-A1U" secondAttribute="trailing" constant="15" id="Rg7-Q9-IdK"/>
  661 + <constraint firstItem="nKJ-qz-sg8" firstAttribute="leading" secondItem="UWk-5A-PEj" secondAttribute="trailing" constant="15" id="TRM-qN-0jP"/>
661 <constraint firstAttribute="trailing" secondItem="9Zz-SB-8Fl" secondAttribute="trailing" id="Ujw-UV-mco"/> 662 <constraint firstAttribute="trailing" secondItem="9Zz-SB-8Fl" secondAttribute="trailing" id="Ujw-UV-mco"/>
662 - <constraint firstItem="UWk-5A-PEj" firstAttribute="top" secondItem="9Zz-SB-8Fl" secondAttribute="bottom" constant="8" id="aKU-kC-KTK"/>  
663 - <constraint firstAttribute="trailing" secondItem="0uI-9D-XVZ" secondAttribute="trailing" constant="8" id="c13-N9-TW8"/> 663 + <constraint firstItem="UWk-5A-PEj" firstAttribute="top" secondItem="9Zz-SB-8Fl" secondAttribute="bottom" constant="15" id="aKU-kC-KTK"/>
  664 + <constraint firstItem="0uI-9D-XVZ" firstAttribute="top" secondItem="UWk-5A-PEj" secondAttribute="bottom" constant="15" id="bLK-59-dco"/>
  665 + <constraint firstAttribute="trailing" secondItem="0uI-9D-XVZ" secondAttribute="trailing" constant="15" id="c13-N9-TW8"/>
664 <constraint firstItem="9Zz-SB-8Fl" firstAttribute="leading" secondItem="kA1-Za-kS2" secondAttribute="leading" id="iZd-Ff-YdA"/> 666 <constraint firstItem="9Zz-SB-8Fl" firstAttribute="leading" secondItem="kA1-Za-kS2" secondAttribute="leading" id="iZd-Ff-YdA"/>
665 <constraint firstItem="9Zz-SB-8Fl" firstAttribute="top" secondItem="kA1-Za-kS2" secondAttribute="top" id="io6-vo-MrT"/> 667 <constraint firstItem="9Zz-SB-8Fl" firstAttribute="top" secondItem="kA1-Za-kS2" secondAttribute="top" id="io6-vo-MrT"/>
666 - <constraint firstItem="0uI-9D-XVZ" firstAttribute="leading" secondItem="kA1-Za-kS2" secondAttribute="leading" constant="8" id="ivh-0J-PTg"/> 668 + <constraint firstItem="0uI-9D-XVZ" firstAttribute="leading" secondItem="kA1-Za-kS2" secondAttribute="leading" constant="15" id="ivh-0J-PTg"/>
667 </constraints> 669 </constraints>
668 </tableViewCellContentView> 670 </tableViewCellContentView>
669 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 671 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
670 </tableViewCell> 672 </tableViewCell>
671 - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="cell3" selectionStyle="none" indentationWidth="10" reuseIdentifier="cell3" rowHeight="120" id="u0l-tM-Sps" customClass="HomeFourTableViewCell" customModule="YouerLiveVideo" customModuleProvider="target">  
672 - <rect key="frame" x="0.0" y="916" width="375" height="120"/> 673 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="cell3" selectionStyle="none" indentationWidth="10" reuseIdentifier="cell3" rowHeight="200" id="u0l-tM-Sps" customClass="HomeFourTableViewCell" customModule="YouerLiveVideo" customModuleProvider="target">
  674 + <rect key="frame" x="0.0" y="929" width="375" height="200"/>
673 <autoresizingMask key="autoresizingMask"/> 675 <autoresizingMask key="autoresizingMask"/>
674 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="u0l-tM-Sps" id="pAP-UQ-eh8"> 676 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="u0l-tM-Sps" id="pAP-UQ-eh8">
675 - <rect key="frame" x="0.0" y="0.0" width="375" height="120"/> 677 + <rect key="frame" x="0.0" y="0.0" width="375" height="200"/>
676 <autoresizingMask key="autoresizingMask"/> 678 <autoresizingMask key="autoresizingMask"/>
677 <subviews> 679 <subviews>
678 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Mv3-YA-1zb"> 680 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Mv3-YA-1zb">
679 - <rect key="frame" x="0.0" y="0.0" width="375" height="20"/> 681 + <rect key="frame" x="0.0" y="0.0" width="375" height="15"/>
680 <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> 682 <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
681 <constraints> 683 <constraints>
682 - <constraint firstAttribute="height" constant="20" id="8kZ-Qb-uv0"/> 684 + <constraint firstAttribute="height" constant="15" id="8kZ-Qb-uv0"/>
683 </constraints> 685 </constraints>
684 </view> 686 </view>
685 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="NyS-EO-TLP"> 687 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="NyS-EO-TLP">
686 - <rect key="frame" x="8" y="28" width="30" height="30"/> 688 + <rect key="frame" x="15" y="30" width="20" height="20"/>
687 <constraints> 689 <constraints>
688 - <constraint firstAttribute="width" constant="30" id="3VH-BC-Dg6"/>  
689 - <constraint firstAttribute="height" constant="30" id="FB0-l5-0Jp"/> 690 + <constraint firstAttribute="width" constant="20" id="3VH-BC-Dg6"/>
  691 + <constraint firstAttribute="height" constant="20" id="FB0-l5-0Jp"/>
690 </constraints> 692 </constraints>
691 </imageView> 693 </imageView>
692 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="TE2-1P-sZs"> 694 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="TE2-1P-sZs">
693 - <rect key="frame" x="337" y="28" width="30" height="30"/> 695 + <rect key="frame" x="352" y="32.5" width="8" height="15"/>
694 <constraints> 696 <constraints>
695 - <constraint firstAttribute="height" constant="30" id="EJo-or-6w8"/>  
696 - <constraint firstAttribute="width" constant="30" id="HqT-ZX-Hf6"/> 697 + <constraint firstAttribute="height" constant="15" id="EJo-or-6w8"/>
  698 + <constraint firstAttribute="width" constant="8" id="HqT-ZX-Hf6"/>
697 </constraints> 699 </constraints>
698 </imageView> 700 </imageView>
699 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="校园电视台" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UbK-Rj-Fs5"> 701 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="校园电视台" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UbK-Rj-Fs5">
700 - <rect key="frame" x="46" y="33" width="87" height="21"/>  
701 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
702 - <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> 702 + <rect key="frame" x="50" y="30" width="82" height="20"/>
  703 + <fontDescription key="fontDescription" type="system" pointSize="16"/>
  704 + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
703 <nil key="highlightedColor"/> 705 <nil key="highlightedColor"/>
704 </label> 706 </label>
705 <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" tag="1" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="cYp-Zl-nJm"> 707 <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" tag="1" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="cYp-Zl-nJm">
706 - <rect key="frame" x="8" y="83" width="359" height="37"/> 708 + <rect key="frame" x="15" y="65" width="345" height="120"/>
707 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 709 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
708 - <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="8" id="WlM-Mm-GpJ"> 710 + <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="WlM-Mm-GpJ">
709 <size key="itemSize" width="128" height="200"/> 711 <size key="itemSize" width="128" height="200"/>
710 <size key="headerReferenceSize" width="0.0" height="0.0"/> 712 <size key="headerReferenceSize" width="0.0" height="0.0"/>
711 <size key="footerReferenceSize" width="0.0" height="0.0"/> 713 <size key="footerReferenceSize" width="0.0" height="0.0"/>
@@ -725,8 +727,8 @@ @@ -725,8 +727,8 @@
725 <constraints> 727 <constraints>
726 <constraint firstAttribute="height" constant="30" id="4Og-hL-nhw"/> 728 <constraint firstAttribute="height" constant="30" id="4Og-hL-nhw"/>
727 </constraints> 729 </constraints>
728 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
729 - <nil key="textColor"/> 730 + <fontDescription key="fontDescription" type="system" pointSize="14"/>
  731 + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
730 <nil key="highlightedColor"/> 732 <nil key="highlightedColor"/>
731 </label> 733 </label>
732 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="ZWf-Th-UTw"> 734 <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="ZWf-Th-UTw">
@@ -758,19 +760,19 @@ @@ -758,19 +760,19 @@
758 </collectionView> 760 </collectionView>
759 </subviews> 761 </subviews>
760 <constraints> 762 <constraints>
761 - <constraint firstItem="NyS-EO-TLP" firstAttribute="top" secondItem="Mv3-YA-1zb" secondAttribute="bottom" constant="8" id="0ke-n8-TrJ"/>  
762 - <constraint firstItem="TE2-1P-sZs" firstAttribute="top" secondItem="Mv3-YA-1zb" secondAttribute="bottom" constant="8" id="1KX-Aj-m0i"/>  
763 - <constraint firstAttribute="trailing" secondItem="cYp-Zl-nJm" secondAttribute="trailing" constant="8" id="5NS-hQ-HDr"/> 763 + <constraint firstItem="NyS-EO-TLP" firstAttribute="top" secondItem="Mv3-YA-1zb" secondAttribute="bottom" constant="15" id="0ke-n8-TrJ"/>
  764 + <constraint firstItem="TE2-1P-sZs" firstAttribute="top" secondItem="Mv3-YA-1zb" secondAttribute="bottom" constant="17.5" id="1KX-Aj-m0i"/>
  765 + <constraint firstAttribute="trailing" secondItem="cYp-Zl-nJm" secondAttribute="trailing" constant="15" id="5NS-hQ-HDr"/>
  766 + <constraint firstItem="cYp-Zl-nJm" firstAttribute="top" secondItem="NyS-EO-TLP" secondAttribute="bottom" constant="15" id="7eH-WY-cIS"/>
764 <constraint firstItem="Mv3-YA-1zb" firstAttribute="top" secondItem="pAP-UQ-eh8" secondAttribute="top" id="ARU-SJ-pTz"/> 767 <constraint firstItem="Mv3-YA-1zb" firstAttribute="top" secondItem="pAP-UQ-eh8" secondAttribute="top" id="ARU-SJ-pTz"/>
765 <constraint firstAttribute="trailing" secondItem="Mv3-YA-1zb" secondAttribute="trailing" id="I4t-Lc-D4H"/> 768 <constraint firstAttribute="trailing" secondItem="Mv3-YA-1zb" secondAttribute="trailing" id="I4t-Lc-D4H"/>
766 - <constraint firstAttribute="bottom" secondItem="cYp-Zl-nJm" secondAttribute="bottom" id="JIt-5J-1vX"/>  
767 - <constraint firstItem="UbK-Rj-Fs5" firstAttribute="top" secondItem="Mv3-YA-1zb" secondAttribute="bottom" constant="13" id="LSN-Sj-8zr"/>  
768 - <constraint firstAttribute="trailing" secondItem="TE2-1P-sZs" secondAttribute="trailing" constant="8" id="QlU-44-FxY"/>  
769 - <constraint firstItem="cYp-Zl-nJm" firstAttribute="top" secondItem="TE2-1P-sZs" secondAttribute="bottom" constant="25" id="VVE-0S-GvV"/>  
770 - <constraint firstItem="cYp-Zl-nJm" firstAttribute="leading" secondItem="pAP-UQ-eh8" secondAttribute="leading" constant="8" id="aI8-UO-9NX"/> 769 + <constraint firstAttribute="bottom" secondItem="cYp-Zl-nJm" secondAttribute="bottom" constant="15" id="JIt-5J-1vX"/>
  770 + <constraint firstItem="UbK-Rj-Fs5" firstAttribute="top" secondItem="Mv3-YA-1zb" secondAttribute="bottom" constant="15" id="LSN-Sj-8zr"/>
  771 + <constraint firstAttribute="trailing" secondItem="TE2-1P-sZs" secondAttribute="trailing" constant="15" id="QlU-44-FxY"/>
  772 + <constraint firstItem="cYp-Zl-nJm" firstAttribute="leading" secondItem="pAP-UQ-eh8" secondAttribute="leading" constant="15" id="aI8-UO-9NX"/>
771 <constraint firstItem="Mv3-YA-1zb" firstAttribute="leading" secondItem="pAP-UQ-eh8" secondAttribute="leading" id="cWh-v4-slW"/> 773 <constraint firstItem="Mv3-YA-1zb" firstAttribute="leading" secondItem="pAP-UQ-eh8" secondAttribute="leading" id="cWh-v4-slW"/>
772 - <constraint firstItem="NyS-EO-TLP" firstAttribute="leading" secondItem="pAP-UQ-eh8" secondAttribute="leading" constant="8" id="hQw-PE-ApU"/>  
773 - <constraint firstItem="UbK-Rj-Fs5" firstAttribute="leading" secondItem="NyS-EO-TLP" secondAttribute="trailing" constant="8" id="vTs-ac-et0"/> 774 + <constraint firstItem="NyS-EO-TLP" firstAttribute="leading" secondItem="pAP-UQ-eh8" secondAttribute="leading" constant="15" id="hQw-PE-ApU"/>
  775 + <constraint firstItem="UbK-Rj-Fs5" firstAttribute="leading" secondItem="NyS-EO-TLP" secondAttribute="trailing" constant="15" id="vTs-ac-et0"/>
774 </constraints> 776 </constraints>
775 </tableViewCellContentView> 777 </tableViewCellContentView>
776 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 778 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
@@ -783,7 +785,7 @@ @@ -783,7 +785,7 @@
783 <outlet property="delegate" destination="HdB-6p-eAX" id="k2q-uw-6l0"/> 785 <outlet property="delegate" destination="HdB-6p-eAX" id="k2q-uw-6l0"/>
784 </connections> 786 </connections>
785 </tableView> 787 </tableView>
786 - <navigationItem key="navigationItem" id="u6G-VK-Ob0"> 788 + <navigationItem key="navigationItem" title="教育视频云" id="u6G-VK-Ob0">
787 <barButtonItem key="rightBarButtonItem" systemItem="search" id="Wrt-Tt-zFU"> 789 <barButtonItem key="rightBarButtonItem" systemItem="search" id="Wrt-Tt-zFU">
788 <connections> 790 <connections>
789 <action selector="rightBarButtonAction:" destination="HdB-6p-eAX" id="FCr-SK-pbu"/> 791 <action selector="rightBarButtonAction:" destination="HdB-6p-eAX" id="FCr-SK-pbu"/>
@@ -829,7 +831,7 @@ @@ -829,7 +831,7 @@
829 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 831 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
830 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> 832 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
831 </view> 833 </view>
832 - <navigationItem key="navigationItem" id="bcC-ei-aNW"/> 834 + <navigationItem key="navigationItem" title="用户" id="KBV-ql-Taf"/>
833 </viewController> 835 </viewController>
834 <placeholder placeholderIdentifier="IBFirstResponder" id="yJD-YG-4bQ" userLabel="First Responder" sceneMemberID="firstResponder"/> 836 <placeholder placeholderIdentifier="IBFirstResponder" id="yJD-YG-4bQ" userLabel="First Responder" sceneMemberID="firstResponder"/>
835 </objects> 837 </objects>
@@ -1121,7 +1123,7 @@ @@ -1121,7 +1123,7 @@
1121 </navigationBar> 1123 </navigationBar>
1122 <nil name="viewControllers"/> 1124 <nil name="viewControllers"/>
1123 <connections> 1125 <connections>
1124 - <segue destination="QLA-FR-CcL" kind="relationship" relationship="rootViewController" id="dfQ-M1-wUC"/> 1126 + <segue destination="VUr-8w-9Ht" kind="relationship" relationship="rootViewController" id="jMk-GJ-Z4f"/>
1125 </connections> 1127 </connections>
1126 </navigationController> 1128 </navigationController>
1127 <placeholder placeholderIdentifier="IBFirstResponder" id="xYG-HE-dff" userLabel="First Responder" sceneMemberID="firstResponder"/> 1129 <placeholder placeholderIdentifier="IBFirstResponder" id="xYG-HE-dff" userLabel="First Responder" sceneMemberID="firstResponder"/>
@@ -1186,7 +1188,7 @@ @@ -1186,7 +1188,7 @@
1186 <rect key="frame" x="0.0" y="28" width="375" height="178"/> 1188 <rect key="frame" x="0.0" y="28" width="375" height="178"/>
1187 <autoresizingMask key="autoresizingMask"/> 1189 <autoresizingMask key="autoresizingMask"/>
1188 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="8PR-k0-hwX" id="Bb0-oI-ccB"> 1190 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="8PR-k0-hwX" id="Bb0-oI-ccB">
1189 - <rect key="frame" x="0.0" y="0.0" width="375" height="177"/> 1191 + <rect key="frame" x="0.0" y="0.0" width="375" height="178"/>
1190 <autoresizingMask key="autoresizingMask"/> 1192 <autoresizingMask key="autoresizingMask"/>
1191 <subviews> 1193 <subviews>
1192 <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="m0I-jk-Iru"> 1194 <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="m0I-jk-Iru">
@@ -1265,7 +1267,7 @@ @@ -1265,7 +1267,7 @@
1265 </constraints> 1267 </constraints>
1266 </view> 1268 </view>
1267 <tabBarItem key="tabBarItem" tag="3" title="电视台" id="s3g-mh-Xtl"/> 1269 <tabBarItem key="tabBarItem" tag="3" title="电视台" id="s3g-mh-Xtl"/>
1268 - <navigationItem key="navigationItem" id="4l0-y8-1gT"/> 1270 + <navigationItem key="navigationItem" title="电视台" id="lwd-0v-qoO"/>
1269 <connections> 1271 <connections>
1270 <outlet property="tableView" destination="IhH-sz-Bd2" id="ut2-uV-tkE"/> 1272 <outlet property="tableView" destination="IhH-sz-Bd2" id="ut2-uV-tkE"/>
1271 </connections> 1273 </connections>
@@ -1293,6 +1295,233 @@ @@ -1293,6 +1295,233 @@
1293 </objects> 1295 </objects>
1294 <point key="canvasLocation" x="-1838" y="1415"/> 1296 <point key="canvasLocation" x="-1838" y="1415"/>
1295 </scene> 1297 </scene>
  1298 + <!--微课-->
  1299 + <scene sceneID="79n-r8-6SR">
  1300 + <objects>
  1301 + <viewController automaticallyAdjustsScrollViewInsets="NO" id="VUr-8w-9Ht" customClass="MicroCourseViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController">
  1302 + <layoutGuides>
  1303 + <viewControllerLayoutGuide type="top" id="Laj-Zw-b49"/>
  1304 + <viewControllerLayoutGuide type="bottom" id="42u-nx-d5t"/>
  1305 + </layoutGuides>
  1306 + <view key="view" contentMode="scaleToFill" id="xBZ-wH-l5a">
  1307 + <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
  1308 + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
  1309 + <subviews>
  1310 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="lPK-PF-JgI">
  1311 + <rect key="frame" x="0.0" y="108" width="375" height="50"/>
  1312 + <subviews>
  1313 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0HY-Rz-WhJ">
  1314 + <rect key="frame" x="8" y="16" width="4" height="18"/>
  1315 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  1316 + <nil key="textColor"/>
  1317 + <nil key="highlightedColor"/>
  1318 + </label>
  1319 + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="4xl-zG-lqH">
  1320 + <rect key="frame" x="310" y="10" width="57" height="30"/>
  1321 + <constraints>
  1322 + <constraint firstAttribute="height" constant="30" id="xBx-gX-mw4"/>
  1323 + </constraints>
  1324 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  1325 + <state key="normal" title="筛选" image="starLive">
  1326 + <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  1327 + </state>
  1328 + </button>
  1329 + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="T2j-JJ-ft5">
  1330 + <rect key="frame" x="245" y="14" width="57" height="22"/>
  1331 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  1332 + <state key="normal" title="排序" image="starLive">
  1333 + <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  1334 + </state>
  1335 + </button>
  1336 + </subviews>
  1337 + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
  1338 + <constraints>
  1339 + <constraint firstItem="4xl-zG-lqH" firstAttribute="leading" secondItem="T2j-JJ-ft5" secondAttribute="trailing" constant="8" id="5PE-bJ-7gA"/>
  1340 + <constraint firstItem="0HY-Rz-WhJ" firstAttribute="leading" secondItem="lPK-PF-JgI" secondAttribute="leading" constant="8" id="6JE-7G-RGu"/>
  1341 + <constraint firstItem="0HY-Rz-WhJ" firstAttribute="centerY" secondItem="lPK-PF-JgI" secondAttribute="centerY" id="9D4-TG-1g8"/>
  1342 + <constraint firstAttribute="trailing" secondItem="4xl-zG-lqH" secondAttribute="trailing" constant="8" id="Cdo-PV-fQ7"/>
  1343 + <constraint firstAttribute="height" constant="50" id="HmH-xv-An6"/>
  1344 + <constraint firstItem="T2j-JJ-ft5" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="0HY-Rz-WhJ" secondAttribute="trailing" constant="8" id="agG-vQ-QPp"/>
  1345 + <constraint firstItem="T2j-JJ-ft5" firstAttribute="centerY" secondItem="lPK-PF-JgI" secondAttribute="centerY" id="bcz-kZ-cO2"/>
  1346 + <constraint firstItem="4xl-zG-lqH" firstAttribute="centerY" secondItem="lPK-PF-JgI" secondAttribute="centerY" id="pAW-vr-qJ8"/>
  1347 + </constraints>
  1348 + </view>
  1349 + <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="143" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="8oF-hk-183">
  1350 + <rect key="frame" x="0.0" y="158" width="375" height="460"/>
  1351 + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
  1352 + <view key="tableFooterView" contentMode="scaleToFill" id="DCR-ac-r7t">
  1353 + <rect key="frame" x="0.0" y="171" width="375" height="1"/>
  1354 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  1355 + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
  1356 + </view>
  1357 + <prototypes>
  1358 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="identifier" rowHeight="143" id="IlC-3c-gI6" customClass="MicroCourseViewControllerTableViewCell" customModule="YouerLiveVideo" customModuleProvider="target">
  1359 + <rect key="frame" x="0.0" y="28" width="375" height="143"/>
  1360 + <autoresizingMask key="autoresizingMask"/>
  1361 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="IlC-3c-gI6" id="UCf-3H-9B1">
  1362 + <rect key="frame" x="0.0" y="0.0" width="375" height="143"/>
  1363 + <autoresizingMask key="autoresizingMask"/>
  1364 + <subviews>
  1365 + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="qia-pR-e6p">
  1366 + <rect key="frame" x="8" y="27" width="90" height="90"/>
  1367 + <constraints>
  1368 + <constraint firstAttribute="width" secondItem="qia-pR-e6p" secondAttribute="height" multiplier="1:1" id="6Zi-MO-Pqe"/>
  1369 + <constraint firstAttribute="width" constant="90" id="NEy-T9-LCS"/>
  1370 + </constraints>
  1371 + </imageView>
  1372 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="i7I-v8-vVY">
  1373 + <rect key="frame" x="114" y="32" width="165" height="21"/>
  1374 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  1375 + <nil key="textColor"/>
  1376 + <nil key="highlightedColor"/>
  1377 + </label>
  1378 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zNu-DX-cwZ">
  1379 + <rect key="frame" x="114" y="61" width="42" height="21"/>
  1380 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  1381 + <color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
  1382 + <nil key="highlightedColor"/>
  1383 + </label>
  1384 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vTt-gy-eUu">
  1385 + <rect key="frame" x="114" y="90" width="42" height="21"/>
  1386 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  1387 + <color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
  1388 + <nil key="highlightedColor"/>
  1389 + </label>
  1390 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Oz8-OI-zTn">
  1391 + <rect key="frame" x="325" y="90" width="42" height="21"/>
  1392 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
  1393 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  1394 + <nil key="textColor"/>
  1395 + <nil key="highlightedColor"/>
  1396 + </label>
  1397 + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="jqG-kN-3bx">
  1398 + <rect key="frame" x="287" y="25" width="80" height="35"/>
  1399 + <color key="backgroundColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="calibratedRGB"/>
  1400 + <constraints>
  1401 + <constraint firstAttribute="width" constant="80" id="Alz-7v-3a2"/>
  1402 + <constraint firstAttribute="height" constant="35" id="CuG-T4-QtE"/>
  1403 + </constraints>
  1404 + <state key="normal" title="预览">
  1405 + <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  1406 + </state>
  1407 + <connections>
  1408 + <action selector="pushDetailVC:" destination="IlC-3c-gI6" eventType="touchUpInside" id="3BZ-om-ppg"/>
  1409 + </connections>
  1410 + </button>
  1411 + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="anY-xC-gfl">
  1412 + <rect key="frame" x="297" y="91" width="20" height="20"/>
  1413 + <constraints>
  1414 + <constraint firstAttribute="width" constant="20" id="FKY-fi-PSd"/>
  1415 + <constraint firstAttribute="width" secondItem="anY-xC-gfl" secondAttribute="height" multiplier="1:1" id="mbe-Kb-gfh"/>
  1416 + </constraints>
  1417 + </imageView>
  1418 + </subviews>
  1419 + <constraints>
  1420 + <constraint firstItem="zNu-DX-cwZ" firstAttribute="leading" secondItem="i7I-v8-vVY" secondAttribute="leading" id="Ass-bq-7Zl"/>
  1421 + <constraint firstItem="vTt-gy-eUu" firstAttribute="top" secondItem="zNu-DX-cwZ" secondAttribute="bottom" constant="8" id="EPW-Rs-PaM"/>
  1422 + <constraint firstItem="jqG-kN-3bx" firstAttribute="centerY" secondItem="i7I-v8-vVY" secondAttribute="centerY" id="FzT-Id-AQY"/>
  1423 + <constraint firstItem="zNu-DX-cwZ" firstAttribute="top" secondItem="i7I-v8-vVY" secondAttribute="bottom" constant="8" id="H53-aB-vEZ"/>
  1424 + <constraint firstItem="zNu-DX-cwZ" firstAttribute="centerY" secondItem="UCf-3H-9B1" secondAttribute="centerY" id="O4n-ki-c8K"/>
  1425 + <constraint firstAttribute="trailing" secondItem="jqG-kN-3bx" secondAttribute="trailing" constant="8" id="XZT-II-opg"/>
  1426 + <constraint firstItem="Oz8-OI-zTn" firstAttribute="centerY" secondItem="vTt-gy-eUu" secondAttribute="centerY" id="bae-Ey-mlX"/>
  1427 + <constraint firstItem="vTt-gy-eUu" firstAttribute="leading" secondItem="qia-pR-e6p" secondAttribute="trailing" constant="16" id="cFH-UN-Qnu"/>
  1428 + <constraint firstItem="jqG-kN-3bx" firstAttribute="leading" secondItem="i7I-v8-vVY" secondAttribute="trailing" constant="8" id="cNZ-nJ-MDk"/>
  1429 + <constraint firstItem="qia-pR-e6p" firstAttribute="centerY" secondItem="UCf-3H-9B1" secondAttribute="centerY" id="hob-KD-eVv"/>
  1430 + <constraint firstItem="vTt-gy-eUu" firstAttribute="leading" secondItem="i7I-v8-vVY" secondAttribute="leading" id="kOI-Sj-8v1"/>
  1431 + <constraint firstAttribute="trailing" secondItem="Oz8-OI-zTn" secondAttribute="trailing" constant="8" id="kfE-GK-2DJ"/>
  1432 + <constraint firstItem="qia-pR-e6p" firstAttribute="leading" secondItem="UCf-3H-9B1" secondAttribute="leading" constant="8" id="kx2-7H-uKO"/>
  1433 + <constraint firstItem="Oz8-OI-zTn" firstAttribute="leading" secondItem="anY-xC-gfl" secondAttribute="trailing" constant="8" id="pT2-e6-5EY"/>
  1434 + <constraint firstItem="anY-xC-gfl" firstAttribute="centerY" secondItem="vTt-gy-eUu" secondAttribute="centerY" id="rfk-nx-qtP"/>
  1435 + </constraints>
  1436 + </tableViewCellContentView>
  1437 + <connections>
  1438 + <outlet property="downLoadCountLabel" destination="Oz8-OI-zTn" id="sKQ-bv-sBt"/>
  1439 + <outlet property="iconImageView" destination="qia-pR-e6p" id="Sjz-Ns-eLD"/>
  1440 + <outlet property="timeLabel" destination="vTt-gy-eUu" id="P8r-uE-wDA"/>
  1441 + <outlet property="titleLabel" destination="i7I-v8-vVY" id="pfz-yx-JR0"/>
  1442 + <outlet property="updateTeacherLabel" destination="zNu-DX-cwZ" id="dI3-Y7-cVY"/>
  1443 + </connections>
  1444 + </tableViewCell>
  1445 + </prototypes>
  1446 + <connections>
  1447 + <outlet property="dataSource" destination="VUr-8w-9Ht" id="m6b-QU-EJf"/>
  1448 + <outlet property="delegate" destination="VUr-8w-9Ht" id="bYV-x9-9gZ"/>
  1449 + </connections>
  1450 + </tableView>
  1451 + <view hidden="YES" alpha="0.30000001192092896" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oeL-YH-vse">
  1452 + <rect key="frame" x="0.0" y="64" width="375" height="554"/>
  1453 + <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
  1454 + <gestureRecognizers/>
  1455 + <connections>
  1456 + <outletCollection property="gestureRecognizers" destination="8sK-Sj-kmY" appends="YES" id="KFj-3I-QoP"/>
  1457 + </connections>
  1458 + </view>
  1459 + <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="Yg9-Z1-sYr">
  1460 + <rect key="frame" x="0.0" y="64" width="375" height="44"/>
  1461 + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
  1462 + <constraints>
  1463 + <constraint firstAttribute="height" constant="44" id="s3i-TZ-HsX"/>
  1464 + </constraints>
  1465 + <prototypes>
  1466 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="cell" id="OoX-sY-EJ0">
  1467 + <rect key="frame" x="0.0" y="28" width="375" height="44"/>
  1468 + <autoresizingMask key="autoresizingMask"/>
  1469 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="OoX-sY-EJ0" id="cE2-H1-hR9">
  1470 + <rect key="frame" x="0.0" y="0.0" width="375" height="43"/>
  1471 + <autoresizingMask key="autoresizingMask"/>
  1472 + </tableViewCellContentView>
  1473 + </tableViewCell>
  1474 + </prototypes>
  1475 + <connections>
  1476 + <outlet property="dataSource" destination="VUr-8w-9Ht" id="GQe-Yj-UHr"/>
  1477 + <outlet property="delegate" destination="VUr-8w-9Ht" id="ZYz-Kt-cgh"/>
  1478 + </connections>
  1479 + </tableView>
  1480 + </subviews>
  1481 + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
  1482 + <constraints>
  1483 + <constraint firstItem="42u-nx-d5t" firstAttribute="top" secondItem="8oF-hk-183" secondAttribute="bottom" id="1yo-Qy-DQK"/>
  1484 + <constraint firstAttribute="trailing" secondItem="lPK-PF-JgI" secondAttribute="trailing" id="6hx-sN-wTU"/>
  1485 + <constraint firstItem="8oF-hk-183" firstAttribute="top" secondItem="lPK-PF-JgI" secondAttribute="bottom" id="BDa-XJ-LSu"/>
  1486 + <constraint firstItem="8oF-hk-183" firstAttribute="leading" secondItem="xBZ-wH-l5a" secondAttribute="leading" id="C7J-5R-PYq"/>
  1487 + <constraint firstItem="lPK-PF-JgI" firstAttribute="top" secondItem="Laj-Zw-b49" secondAttribute="bottom" constant="44" id="CEn-Bg-nNB"/>
  1488 + <constraint firstItem="Yg9-Z1-sYr" firstAttribute="leading" secondItem="xBZ-wH-l5a" secondAttribute="leading" id="GrW-hf-xZM"/>
  1489 + <constraint firstItem="42u-nx-d5t" firstAttribute="top" secondItem="oeL-YH-vse" secondAttribute="bottom" id="J26-Py-ZAB"/>
  1490 + <constraint firstAttribute="trailing" secondItem="8oF-hk-183" secondAttribute="trailing" id="RHq-uI-I05"/>
  1491 + <constraint firstItem="oeL-YH-vse" firstAttribute="top" secondItem="Laj-Zw-b49" secondAttribute="bottom" id="Uct-5h-aXd"/>
  1492 + <constraint firstItem="oeL-YH-vse" firstAttribute="leading" secondItem="xBZ-wH-l5a" secondAttribute="leading" id="VHh-4q-p5A"/>
  1493 + <constraint firstAttribute="trailing" secondItem="oeL-YH-vse" secondAttribute="trailing" id="gfN-Gs-rxt"/>
  1494 + <constraint firstAttribute="trailing" secondItem="Yg9-Z1-sYr" secondAttribute="trailing" id="jdR-Zl-EUe"/>
  1495 + <constraint firstItem="lPK-PF-JgI" firstAttribute="leading" secondItem="xBZ-wH-l5a" secondAttribute="leading" id="jx1-xS-L8s"/>
  1496 + <constraint firstItem="Yg9-Z1-sYr" firstAttribute="top" secondItem="Laj-Zw-b49" secondAttribute="bottom" id="sau-r2-QN3"/>
  1497 + </constraints>
  1498 + </view>
  1499 + <navigationItem key="navigationItem" title="微课" id="Lae-MV-KD3"/>
  1500 + <connections>
  1501 + <outlet property="grayView" destination="oeL-YH-vse" id="BIQ-VX-L39"/>
  1502 + <outlet property="searchDisplayController" destination="k0q-9e-h1a" id="gOP-tZ-Dkg"/>
  1503 + <outlet property="searchTableHeight" destination="s3i-TZ-HsX" id="KmT-xe-n12"/>
  1504 + <outlet property="searchTableView" destination="Yg9-Z1-sYr" id="Kd3-AM-8Bo"/>
  1505 + <outlet property="tableView" destination="8oF-hk-183" id="Nph-zZ-Dw1"/>
  1506 + </connections>
  1507 + </viewController>
  1508 + <placeholder placeholderIdentifier="IBFirstResponder" id="ke0-TQ-V4A" userLabel="First Responder" sceneMemberID="firstResponder"/>
  1509 + <searchDisplayController id="OBp-V3-aA1">
  1510 + <connections>
  1511 + <outlet property="delegate" destination="VUr-8w-9Ht" id="5WH-a0-hwZ"/>
  1512 + <outlet property="searchContentsController" destination="VUr-8w-9Ht" id="BVs-1N-QBz"/>
  1513 + <outlet property="searchResultsDataSource" destination="VUr-8w-9Ht" id="uls-gM-d1p"/>
  1514 + <outlet property="searchResultsDelegate" destination="VUr-8w-9Ht" id="xj5-eO-hc3"/>
  1515 + </connections>
  1516 + </searchDisplayController>
  1517 + <tapGestureRecognizer id="8sK-Sj-kmY">
  1518 + <connections>
  1519 + <action selector="cancleSearchActivit:" destination="VUr-8w-9Ht" id="qlk-qa-KJe"/>
  1520 + </connections>
  1521 + </tapGestureRecognizer>
  1522 + </objects>
  1523 + <point key="canvasLocation" x="-340" y="2112.5937031484259"/>
  1524 + </scene>
1296 </scenes> 1525 </scenes>
1297 <resources> 1526 <resources>
1298 <image name="arrow" width="33" height="33"/> 1527 <image name="arrow" width="33" height="33"/>
YouerLiveVideo/YouerLiveVideo/controllers/HomePage/MainHomeTableViewController.swift
@@ -80,12 +80,14 @@ class MainHomeTableViewController: UITableViewController { @@ -80,12 +80,14 @@ class MainHomeTableViewController: UITableViewController {
80 return 4 80 return 4
81 } 81 }
82 override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 82 override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
83 - if indexPath.row==0 || indexPath.row==1{  
84 - return (getScreenWidth()-16)/2+86 83 + if indexPath.row==0{
  84 + return (getScreenWidth()-45)/2/33*25+80
  85 + }else if indexPath.row==1{
  86 + return (getScreenWidth()-45)/2/33*16+132
85 }else if indexPath.row==2{ 87 }else if indexPath.row==2{
86 - return (getScreenWidth()-16)/3+103+86 88 + return (getScreenWidth()-40)/3+170.5
87 }else{ 89 }else{
88 - return (getScreenWidth()-30)/3+30+86 90 + return (getScreenWidth()-40)/3+110
89 } 91 }
90 } 92 }
91 override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 93 override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
@@ -153,7 +155,7 @@ class HomeFirstTableViewCell: UITableViewCell,UICollectionViewDelegate,UICollect @@ -153,7 +155,7 @@ class HomeFirstTableViewCell: UITableViewCell,UICollectionViewDelegate,UICollect
153 } 155 }
154 } 156 }
155 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { 157 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
156 - return CGSize(width: (getScreenWidth()-16)/2, height: (getScreenWidth()-16)/2) 158 + return CGSize(width: (getScreenWidth()-45)/2, height: (getScreenWidth()-45)/2/33*25)
157 } 159 }
158 160
159 func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 161 func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
@@ -207,7 +209,7 @@ class HomeSecondTableViewCell: UITableViewCell,UICollectionViewDelegate,UICollec @@ -207,7 +209,7 @@ class HomeSecondTableViewCell: UITableViewCell,UICollectionViewDelegate,UICollec
207 NSLog("点击了****\(dataSet[indexPath.row])") 209 NSLog("点击了****\(dataSet[indexPath.row])")
208 } 210 }
209 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { 211 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
210 - return CGSize(width: (getScreenWidth()-16)/2, height: (getScreenWidth()-16)/2) 212 + return CGSize(width: (getScreenWidth()-45)/2, height: ((getScreenWidth()-45)/2/33*16+67))
211 } 213 }
212 func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 214 func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
213 return dataSet.count 215 return dataSet.count
@@ -329,7 +331,7 @@ class HomeThirdTableViewCell: UITableViewCell,UICollectionViewDelegate,UICollect @@ -329,7 +331,7 @@ class HomeThirdTableViewCell: UITableViewCell,UICollectionViewDelegate,UICollect
329 NSLog("点击了****\(dataSet[indexPath.row])") 331 NSLog("点击了****\(dataSet[indexPath.row])")
330 } 332 }
331 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { 333 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
332 - return CGSize(width: (getScreenWidth()-16)/3, height: (getScreenWidth()-16)/3+103) 334 + return CGSize(width: (getScreenWidth()-40)/3, height: (getScreenWidth()-40)/3+105.5)
333 } 335 }
334 func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 336 func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
335 return dataSet.count 337 return dataSet.count
@@ -388,7 +390,7 @@ class HomeFourTableViewCell: UITableViewCell,UICollectionViewDelegate,UICollecti @@ -388,7 +390,7 @@ class HomeFourTableViewCell: UITableViewCell,UICollectionViewDelegate,UICollecti
388 NSLog("点击了****\(dataSet[indexPath.row])") 390 NSLog("点击了****\(dataSet[indexPath.row])")
389 } 391 }
390 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { 392 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
391 - return CGSize(width: (getScreenWidth()-32)/3, height: (getScreenWidth()-32)/3+30) 393 + return CGSize(width: (getScreenWidth()-40)/3, height: (getScreenWidth()-40)/3+30)
392 } 394 }
393 func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 395 func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
394 return dataSet.count 396 return dataSet.count
YouerLiveVideo/YouerLiveVideo/controllers/MicroCourse/MicroCourseViewController.swift
@@ -8,28 +8,176 @@ @@ -8,28 +8,176 @@
8 8
9 import UIKit 9 import UIKit
10 10
11 -class MicroCourseViewController: UIViewController {  
12 - 11 +class MicroCourseViewController: UIViewController,UITableViewDelegate,UITableViewDataSource,UISearchControllerDelegate,UISearchResultsUpdating {
  12 + @IBOutlet var tableView: UITableView!
  13 +
  14 + @IBOutlet var grayView: UIView!
  15 + @IBOutlet var searchTableView: UITableView!
  16 + @IBOutlet var searchTableHeight: NSLayoutConstraint!
  17 +
  18 + var searchController:UISearchController!
  19 + var dataSetAry:[String]=["葛建军","张道峰","徐晓杰","左承","段合江"]
  20 + var searchAry:[String]=[]
  21 + var currentPage:Int=0 //当前页数,每次取十个数据
  22 + var resourceData:[MicroCourseModel]=[]
13 override func viewDidLoad() { 23 override func viewDidLoad() {
14 super.viewDidLoad() 24 super.viewDidLoad()
15 self.configTheme() 25 self.configTheme()
16 - // Do any additional setup after loading the view. 26 + addSearchController()
  27 + addRefresh()
  28 + self.refreshLivesAction(tag: self.currentPage, completionHandler: { (success) in
  29 + if success{
  30 + self.tableView.reloadData()
  31 + }
  32 + })
17 } 33 }
18 -  
19 - override func didReceiveMemoryWarning() {  
20 - super.didReceiveMemoryWarning()  
21 - // Dispose of any resources that can be recreated. 34 + func addSearchController(){
  35 + self.definesPresentationContext=true
  36 + searchController=UISearchController(searchResultsController: nil)
  37 + searchController.delegate=self
  38 + searchController.searchResultsUpdater=self
  39 + searchController.searchBar.barTintColor=UIColor.groupTableViewBackground
  40 + searchController.searchBar.placeholder="搜索"
  41 + //设置UISearchController的显示属性,以下3个属性默认为YES
  42 + //搜索时,背景变暗色
  43 + self.searchController.dimsBackgroundDuringPresentation=false
  44 + //搜索时,背景变模糊
  45 + // self.searchController.obscuresBackgroundDuringPresentation=false
  46 + //点击搜索的时候,是否隐藏导航栏
  47 + // searchController.hidesNavigationBarDuringPresentation=true
  48 + //位置
  49 + searchController.searchBar.frame=CGRect(x: self.searchController.searchBar.frame.origin.x, y: self.searchController.searchBar.frame.origin.y, width: self.searchController.searchBar.frame.size.width, height: 44.0);
  50 + // self.view.addSubview(searchController.searchBar)
  51 + searchTableView.tableHeaderView=searchController.searchBar
  52 + }
  53 + func addRefresh(){
  54 + let header=MJRefreshNormalHeader(refreshingBlock: {
  55 + //下拉刷新
  56 + self.currentPage=0
  57 + self.resourceData.removeAll()
  58 + self.refreshLivesAction(tag: self.currentPage, completionHandler: { (success) in
  59 + if success{
  60 + self.tableView.reloadData()
  61 + }
  62 + self.tableView.mj_header.endRefreshing()
  63 + })
  64 + })
  65 + header?.lastUpdatedTimeLabel.isHidden=true
  66 + tableView.mj_header=header
  67 + tableView.mj_footer=MJRefreshBackNormalFooter(refreshingBlock: {
  68 + //上拉加载更多
  69 + self.refreshLivesAction(tag: self.currentPage, completionHandler: { (success) in
  70 + if success{
  71 + self.tableView.reloadData()
  72 + }
  73 + self.tableView.mj_footer.endRefreshing()
  74 + })
  75 + })
  76 + }
  77 + // MARK: - 刷新数据接口
  78 + func refreshLivesAction(tag:Int,completionHandler:@escaping (Bool) -> ()){
  79 + let parameters:Dictionary<String,AnyObject>=["type":0 as AnyObject,"pageIndex":tag as AnyObject,"pageSize":1 as AnyObject]
  80 + AppDelegate.instance().httpServer.getHotRescourse(parameters: parameters) { (str, error) in
  81 + var success:Bool=true
  82 + if error==nil {
  83 + if JSON.fromString(jsonString: str)!["status"].intValue == 1{
  84 + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in
  85 + if JSON.fromString(jsonString: str)!["data"].arrayValue.count>0{
  86 + self.currentPage+=1
  87 + }
  88 + for item in JSON.fromString(jsonString: str)!["data"].arrayValue {
  89 + self.resourceData.append(MicroCourseModel(j: item))
  90 + }
  91 + success=true
  92 + }, failHandler: { (error) in
  93 + success=false
  94 + appRootViewController().view.makeToast("获取资源失败:\(error.localizedDescription)")
  95 + })
  96 + }else{
  97 + success=false
  98 + appRootViewController().view.makeToast("获取资源失败:\(JSON.fromString(jsonString: str)!["message"].stringValue)")
  99 + }
  100 + }else{
  101 + success=false
  102 + appRootViewController().view.makeToast("获取资源失败:\(error!.description)")
  103 + }
  104 + completionHandler(success)
  105 + }
  106 + }
  107 + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  108 + if tableView==searchTableView{
  109 + return searchAry.count
  110 + }else{
  111 + return resourceData.count
  112 + }
  113 + }
  114 + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  115 + if tableView==searchTableView {
  116 + let cell=tableView.dequeueReusableCell(withIdentifier: "cell")
  117 + cell?.textLabel?.text=searchAry[indexPath.row]
  118 + return cell!
  119 + }else{
  120 + let cell=tableView.dequeueReusableCell(withIdentifier: "identifier") as! MicroCourseViewControllerTableViewCell
  121 + cell.superVC=self
  122 + cell.setUpWith(item: resourceData[indexPath.row])
  123 + return cell
  124 + }
  125 + }
  126 + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
  127 + if tableView==searchTableView {
  128 + let vc = UIStoryboard(name: "HomePage", bundle: nil).instantiateViewController(withIdentifier: "RankingTableViewController") as! RankingTableViewController
  129 + self.navigationController?.pushViewController(vc, animated: true)
  130 + }else{
  131 +// let vc = UIStoryboard(name: "Resource", bundle: nil).instantiateViewController(withIdentifier: "LiveInforViewControllerVC") as! LiveInforViewController
  132 +// vc.item=resourceData[indexPath.row]
  133 +// self.navigationController?.pushViewController(vc, animated: true)
  134 + }
  135 + }
  136 + //取消键盘输入状态
  137 + @IBAction func cancleSearchActivit(_ sender: UITapGestureRecognizer) {
  138 + searchController.isActive=false
  139 + }
  140 + func willPresentSearchController(_ searchController: UISearchController) {
  141 + grayView.isHidden=false
  142 + }
  143 + func willDismissSearchController(_ searchController: UISearchController) {
  144 + searchTableHeight.constant=44
  145 + grayView.isHidden=true
  146 + }
  147 + //谓词搜索过滤
  148 + func updateSearchResults(for searchController: UISearchController) {
  149 + let searchString=searchController.searchBar.text
  150 + let predicate=NSPredicate(format: "SELF CONTAINS[c] %@", searchString!)
  151 + searchAry=(dataSetAry as NSArray).filtered(using: predicate) as! [String]
  152 + if CGFloat((searchAry.count+1)*44)>(getScreenHeight()-64){
  153 + searchTableHeight.constant=getScreenHeight()-64
  154 + }else{
  155 + searchTableHeight.constant=CGFloat((searchAry.count+1)*44)
  156 + }
  157 + searchTableView.reloadData()
22 } 158 }
23 159
  160 +}
24 161
25 - /*  
26 - // MARK: - Navigation  
27 -  
28 - // In a storyboard-based application, you will often want to do a little preparation before navigation  
29 - override func prepare(for segue: UIStoryboardSegue, sender: Any?) {  
30 - // Get the new view controller using segue.destinationViewController.  
31 - // Pass the selected object to the new view controller. 162 +class MicroCourseViewControllerTableViewCell:UITableViewCell{
  163 + @IBOutlet var iconImageView: UIImageView!
  164 + @IBOutlet var titleLabel: UILabel!
  165 + @IBOutlet var updateTeacherLabel: UILabel!
  166 + @IBOutlet var timeLabel: UILabel!
  167 + @IBOutlet var downLoadCountLabel: UILabel!
  168 + var item:MicroCourseModel!
  169 + var superVC:MicroCourseViewController!
  170 + func setUpWith(item: MicroCourseModel){
  171 + self.item=item
  172 + iconImageView.sd_setImage(with: URL(string: item.f_Img), placeholderImage: UIImage(named: "icon_course_placeholder"))
  173 + titleLabel.text=item.f_Title
  174 + updateTeacherLabel.text="上传者:\(item.f_CreatorName) 老师"
  175 + timeLabel.text=item.f_CreatorTime
  176 + downLoadCountLabel.text="\(item.f_DownloadSum)"
  177 + }
  178 + @IBAction func pushDetailVC(_ sender: UIButton) {
  179 + let vc = UIStoryboard(name: "Resource", bundle: nil).instantiateViewController(withIdentifier: "LiveInforViewControllerVC") as! LiveInforViewController
  180 + vc.item=item
  181 + self.superVC.navigationController!.pushViewController(vc, animated: true)
32 } 182 }
33 - */  
34 -  
35 } 183 }
YouerLiveVideo/YouerLiveVideo/controllers/Resource/FilterViewController.swift 0 → 100644
@@ -0,0 +1,35 @@ @@ -0,0 +1,35 @@
  1 +//
  2 +// FilterViewController.swift
  3 +// YouerLiveVideo
  4 +//
  5 +// Created by 葛建军 on 17/5/22.
  6 +// Copyright © 2017年 左丞. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class FilterViewController: UIViewController {
  12 +
  13 + override func viewDidLoad() {
  14 + super.viewDidLoad()
  15 +
  16 + // Do any additional setup after loading the view.
  17 + }
  18 +
  19 + override func didReceiveMemoryWarning() {
  20 + super.didReceiveMemoryWarning()
  21 + // Dispose of any resources that can be recreated.
  22 + }
  23 +
  24 +
  25 + /*
  26 + // MARK: - Navigation
  27 +
  28 + // In a storyboard-based application, you will often want to do a little preparation before navigation
  29 + override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
  30 + // Get the new view controller using segue.destinationViewController.
  31 + // Pass the selected object to the new view controller.
  32 + }
  33 + */
  34 +
  35 +}
YouerLiveVideo/YouerLiveVideo/controllers/Resource/LiveInforViewController.swift
@@ -16,27 +16,26 @@ class LiveInforViewController: UIViewController { @@ -16,27 +16,26 @@ class LiveInforViewController: UIViewController {
16 @IBOutlet weak var updataPersonPhoto: UIImageView! 16 @IBOutlet weak var updataPersonPhoto: UIImageView!
17 @IBOutlet weak var updataPersonName: UILabel! 17 @IBOutlet weak var updataPersonName: UILabel!
18 @IBOutlet weak var updataTime: UILabel! 18 @IBOutlet weak var updataTime: UILabel!
19 -  
20 - var tvStation:TVStationSubject! 19 + var item:MicroCourseModel!
21 override func viewDidLoad() { 20 override func viewDidLoad() {
22 super.viewDidLoad() 21 super.viewDidLoad()
23 - AppDelegate.instance().httpServer.getResourceModel(parameters: ["f_id":"2be92331-ea5a-41c9-9025-c954d7df904c" as AnyObject]) { (str, error) in 22 + updataPersonPhoto.layer.cornerRadius = updataPersonPhoto.frame.size.height/2
  23 + updataPersonPhoto.layer.masksToBounds = true
  24 + AppDelegate.instance().httpServer.getResourceModel(parameters: ["f_id":item.f_Id as AnyObject]) { (str, error) in
24 httpJsonResule(jsonString: str, error: error, successHandler: { (json) in 25 httpJsonResule(jsonString: str, error: error, successHandler: { (json) in
25 - self.tvStation = TVStationSubject(json: json.contentData())  
26 - self.setAllInfor() 26 + self.setAllInfor(item: TVStationSubject(json: json.contentData()))
27 }, failHandler: { (error) in 27 }, failHandler: { (error) in
28 28
29 }) 29 })
30 } 30 }
  31 +
31 // Do any additional setup after loading the view. 32 // Do any additional setup after loading the view.
32 } 33 }
33 34
34 - func setAllInfor(){  
35 - updataTime.text = setDateToString(date: dateFromISO8601(dateString: tvStation.f_CreatorTime))  
36 - updataPersonName.text = "上传者: \(tvStation.f_CreatorName!)"  
37 - updataPersonPhoto.layer.cornerRadius = updataPersonPhoto.frame.size.height/2  
38 - updataPersonPhoto.layer.masksToBounds = true  
39 - updataPersonPhoto.sd_setImage(with: URL(string: tvStation.f_Img), placeholderImage: #imageLiteral(resourceName: "defphoto.png")) 35 + func setAllInfor(item:TVStationSubject){
  36 + updataTime.text = setDateToString(date: dateFromISO8601(dateString: item.f_CreatorTime))
  37 + updataPersonName.text = "上传者: \(item.f_CreatorName!)"
  38 + updataPersonPhoto.sd_setImage(with: URL(string: item.f_Img), placeholderImage: #imageLiteral(resourceName: "defphoto.png"))
40 } 39 }
41 40
42 override func didReceiveMemoryWarning() { 41 override func didReceiveMemoryWarning() {
YouerLiveVideo/YouerLiveVideo/controllers/Resource/Resource.storyboard
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11762" systemVersion="16A323" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> 1 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11762" systemVersion="15G1217" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
3 <device id="retina4_7" orientation="portrait"> 3 <device id="retina4_7" orientation="portrait">
4 <adaptation id="fullscreen"/> 4 <adaptation id="fullscreen"/>
5 </device> 5 </device>
@@ -9,6 +9,24 @@ @@ -9,6 +9,24 @@
9 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> 9 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
10 </dependencies> 10 </dependencies>
11 <scenes> 11 <scenes>
  12 + <!--Filter View Controller-->
  13 + <scene sceneID="Rmv-Eo-NBi">
  14 + <objects>
  15 + <viewController id="J51-bf-ysq" customClass="FilterViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController">
  16 + <layoutGuides>
  17 + <viewControllerLayoutGuide type="top" id="8Fm-xC-jSr"/>
  18 + <viewControllerLayoutGuide type="bottom" id="bXh-Wr-qy6"/>
  19 + </layoutGuides>
  20 + <view key="view" contentMode="scaleToFill" id="ao2-Oa-iAS">
  21 + <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
  22 + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
  23 + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
  24 + </view>
  25 + </viewController>
  26 + <placeholder placeholderIdentifier="IBFirstResponder" id="ocM-s7-Wga" userLabel="First Responder" sceneMemberID="firstResponder"/>
  27 + </objects>
  28 + <point key="canvasLocation" x="-737" y="266"/>
  29 + </scene>
12 <!--Live Infor View Controller--> 30 <!--Live Infor View Controller-->
13 <scene sceneID="QrF-a4-VNS"> 31 <scene sceneID="QrF-a4-VNS">
14 <objects> 32 <objects>
YouerLiveVideo/YouerLiveVideo/controllers/Resource/ResourceViewController.swift
@@ -104,6 +104,12 @@ class ResourceViewController: UIViewController,UITableViewDelegate,UITableViewDa @@ -104,6 +104,12 @@ class ResourceViewController: UIViewController,UITableViewDelegate,UITableViewDa
104 completionHandler(success) 104 completionHandler(success)
105 } 105 }
106 } 106 }
  107 + // MARK: - 跳转到筛选
  108 + @IBAction func jumpFilterVCAction(_ sender: UIButton) {
  109 + let vc = UIStoryboard(name: "Resource", bundle: nil).instantiateViewController(withIdentifier: "FilterViewController") as! FilterViewController
  110 + self.navigationController?.pushViewController(vc, animated: true)
  111 + }
  112 +
107 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 113 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
108 if tableView==searchTableView{ 114 if tableView==searchTableView{
109 return searchAry.count 115 return searchAry.count
@@ -126,6 +132,8 @@ class ResourceViewController: UIViewController,UITableViewDelegate,UITableViewDa @@ -126,6 +132,8 @@ class ResourceViewController: UIViewController,UITableViewDelegate,UITableViewDa
126 if tableView==searchTableView { 132 if tableView==searchTableView {
127 let vc = UIStoryboard(name: "HomePage", bundle: nil).instantiateViewController(withIdentifier: "RankingTableViewController") as! RankingTableViewController 133 let vc = UIStoryboard(name: "HomePage", bundle: nil).instantiateViewController(withIdentifier: "RankingTableViewController") as! RankingTableViewController
128 self.navigationController?.pushViewController(vc, animated: true) 134 self.navigationController?.pushViewController(vc, animated: true)
  135 + }else{
  136 +
129 } 137 }
130 } 138 }
131 //取消键盘输入状态 139 //取消键盘输入状态