Commit 498f740df0f37238940347cddc5be891a396d197
Exists in
newLive
Merge branch 'newLive' of http://git.shunzhi.net/iosgroup/newlive into newLive
Showing
12 changed files
with
1052 additions
and
158 deletions
Show diff stats
YouerLiveVideo/YouerLiveVideo.xcodeproj/project.pbxproj
@@ -14,7 +14,6 @@ | @@ -14,7 +14,6 @@ | ||
14 | 5904FC511ECA8B8C00E631FF /* TVStationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5904FC4B1ECA8B8C00E631FF /* TVStationViewController.swift */; }; | 14 | 5904FC511ECA8B8C00E631FF /* TVStationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5904FC4B1ECA8B8C00E631FF /* TVStationViewController.swift */; }; |
15 | 5904FC531ECA8BB500E631FF /* MicroCourse.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5904FC521ECA8BB500E631FF /* MicroCourse.storyboard */; }; | 15 | 5904FC531ECA8BB500E631FF /* MicroCourse.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5904FC521ECA8BB500E631FF /* MicroCourse.storyboard */; }; |
16 | 5904FC551ECA8BCB00E631FF /* HomePage.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5904FC541ECA8BCB00E631FF /* HomePage.storyboard */; }; | 16 | 5904FC551ECA8BCB00E631FF /* HomePage.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5904FC541ECA8BCB00E631FF /* HomePage.storyboard */; }; |
17 | - 5904FC5D1ECA8ED400E631FF /* HomePageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5904FC5C1ECA8ED400E631FF /* HomePageViewController.swift */; }; | ||
18 | 5904FC611ECA930D00E631FF /* MViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5904FC601ECA930D00E631FF /* MViewController.swift */; }; | 17 | 5904FC611ECA930D00E631FF /* MViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5904FC601ECA930D00E631FF /* MViewController.swift */; }; |
19 | 5960263B1DD94D3100C6B5E8 /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 5960263A1DD94D3100C6B5E8 /* libsqlite3.tbd */; }; | 18 | 5960263B1DD94D3100C6B5E8 /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 5960263A1DD94D3100C6B5E8 /* libsqlite3.tbd */; }; |
20 | 5960263D1DD94D5E00C6B5E8 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 5960263C1DD94D5E00C6B5E8 /* libc++.tbd */; }; | 19 | 5960263D1DD94D5E00C6B5E8 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 5960263C1DD94D5E00C6B5E8 /* libc++.tbd */; }; |
@@ -129,6 +128,7 @@ | @@ -129,6 +128,7 @@ | ||
129 | BF3E4A781E2F30B700D90659 /* 礼物数量.png in Resources */ = {isa = PBXBuildFile; fileRef = BF3E4A731E2F30B700D90659 /* 礼物数量.png */; }; | 128 | BF3E4A781E2F30B700D90659 /* 礼物数量.png in Resources */ = {isa = PBXBuildFile; fileRef = BF3E4A731E2F30B700D90659 /* 礼物数量.png */; }; |
130 | BF3E4A791E2F30B700D90659 /* 上传封面.png in Resources */ = {isa = PBXBuildFile; fileRef = BF3E4A741E2F30B700D90659 /* 上传封面.png */; }; | 129 | BF3E4A791E2F30B700D90659 /* 上传封面.png in Resources */ = {isa = PBXBuildFile; fileRef = BF3E4A741E2F30B700D90659 /* 上传封面.png */; }; |
131 | BF3E4A7A1E2F30B700D90659 /* 直播-最热.png in Resources */ = {isa = PBXBuildFile; fileRef = BF3E4A751E2F30B700D90659 /* 直播-最热.png */; }; | 130 | BF3E4A7A1E2F30B700D90659 /* 直播-最热.png in Resources */ = {isa = PBXBuildFile; fileRef = BF3E4A751E2F30B700D90659 /* 直播-最热.png */; }; |
131 | + BF682F1E1ECE8772007632CA /* MainHomeTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF682F1D1ECE8772007632CA /* MainHomeTableViewController.swift */; }; | ||
132 | BF6977871E2DC264006FA934 /* 我的充值.png in Resources */ = {isa = PBXBuildFile; fileRef = BF6977821E2DC264006FA934 /* 我的充值.png */; }; | 132 | BF6977871E2DC264006FA934 /* 我的充值.png in Resources */ = {isa = PBXBuildFile; fileRef = BF6977821E2DC264006FA934 /* 我的充值.png */; }; |
133 | BF6977881E2DC264006FA934 /* 我的关注.png in Resources */ = {isa = PBXBuildFile; fileRef = BF6977831E2DC264006FA934 /* 我的关注.png */; }; | 133 | BF6977881E2DC264006FA934 /* 我的关注.png in Resources */ = {isa = PBXBuildFile; fileRef = BF6977831E2DC264006FA934 /* 我的关注.png */; }; |
134 | BF69778A1E2DC264006FA934 /* 直播历史.png in Resources */ = {isa = PBXBuildFile; fileRef = BF6977851E2DC264006FA934 /* 直播历史.png */; }; | 134 | BF69778A1E2DC264006FA934 /* 直播历史.png in Resources */ = {isa = PBXBuildFile; fileRef = BF6977851E2DC264006FA934 /* 直播历史.png */; }; |
@@ -220,7 +220,6 @@ | @@ -220,7 +220,6 @@ | ||
220 | 5904FC4B1ECA8B8C00E631FF /* TVStationViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TVStationViewController.swift; sourceTree = "<group>"; }; | 220 | 5904FC4B1ECA8B8C00E631FF /* TVStationViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TVStationViewController.swift; sourceTree = "<group>"; }; |
221 | 5904FC521ECA8BB500E631FF /* MicroCourse.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = MicroCourse.storyboard; sourceTree = "<group>"; }; | 221 | 5904FC521ECA8BB500E631FF /* MicroCourse.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = MicroCourse.storyboard; sourceTree = "<group>"; }; |
222 | 5904FC541ECA8BCB00E631FF /* HomePage.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = HomePage.storyboard; sourceTree = "<group>"; }; | 222 | 5904FC541ECA8BCB00E631FF /* HomePage.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = HomePage.storyboard; sourceTree = "<group>"; }; |
223 | - 5904FC5C1ECA8ED400E631FF /* HomePageViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HomePageViewController.swift; sourceTree = "<group>"; }; | ||
224 | 5904FC601ECA930D00E631FF /* MViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MViewController.swift; sourceTree = "<group>"; }; | 223 | 5904FC601ECA930D00E631FF /* MViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MViewController.swift; sourceTree = "<group>"; }; |
225 | 5960263A1DD94D3100C6B5E8 /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = usr/lib/libsqlite3.tbd; sourceTree = SDKROOT; }; | 224 | 5960263A1DD94D3100C6B5E8 /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = usr/lib/libsqlite3.tbd; sourceTree = SDKROOT; }; |
226 | 5960263C1DD94D5E00C6B5E8 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; | 225 | 5960263C1DD94D5E00C6B5E8 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; |
@@ -447,6 +446,7 @@ | @@ -447,6 +446,7 @@ | ||
447 | BF3E4A731E2F30B700D90659 /* 礼物数量.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "礼物数量.png"; sourceTree = "<group>"; }; | 446 | BF3E4A731E2F30B700D90659 /* 礼物数量.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "礼物数量.png"; sourceTree = "<group>"; }; |
448 | BF3E4A741E2F30B700D90659 /* 上传封面.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "上传封面.png"; sourceTree = "<group>"; }; | 447 | BF3E4A741E2F30B700D90659 /* 上传封面.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "上传封面.png"; sourceTree = "<group>"; }; |
449 | BF3E4A751E2F30B700D90659 /* 直播-最热.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "直播-最热.png"; sourceTree = "<group>"; }; | 448 | BF3E4A751E2F30B700D90659 /* 直播-最热.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "直播-最热.png"; sourceTree = "<group>"; }; |
449 | + BF682F1D1ECE8772007632CA /* MainHomeTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainHomeTableViewController.swift; sourceTree = "<group>"; }; | ||
450 | BF6977821E2DC264006FA934 /* 我的充值.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "我的充值.png"; sourceTree = "<group>"; }; | 450 | BF6977821E2DC264006FA934 /* 我的充值.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "我的充值.png"; sourceTree = "<group>"; }; |
451 | BF6977831E2DC264006FA934 /* 我的关注.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "我的关注.png"; sourceTree = "<group>"; }; | 451 | BF6977831E2DC264006FA934 /* 我的关注.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "我的关注.png"; sourceTree = "<group>"; }; |
452 | BF6977851E2DC264006FA934 /* 直播历史.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "直播历史.png"; sourceTree = "<group>"; }; | 452 | BF6977851E2DC264006FA934 /* 直播历史.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "直播历史.png"; sourceTree = "<group>"; }; |
@@ -598,7 +598,7 @@ | @@ -598,7 +598,7 @@ | ||
598 | 5904FC431ECA8B8C00E631FF /* HomePage */ = { | 598 | 5904FC431ECA8B8C00E631FF /* HomePage */ = { |
599 | isa = PBXGroup; | 599 | isa = PBXGroup; |
600 | children = ( | 600 | children = ( |
601 | - 5904FC5C1ECA8ED400E631FF /* HomePageViewController.swift */, | 601 | + BF682F1D1ECE8772007632CA /* MainHomeTableViewController.swift */, |
602 | 5904FC541ECA8BCB00E631FF /* HomePage.storyboard */, | 602 | 5904FC541ECA8BCB00E631FF /* HomePage.storyboard */, |
603 | ); | 603 | ); |
604 | path = HomePage; | 604 | path = HomePage; |
@@ -1487,7 +1487,6 @@ | @@ -1487,7 +1487,6 @@ | ||
1487 | 5904FC511ECA8B8C00E631FF /* TVStationViewController.swift in Sources */, | 1487 | 5904FC511ECA8B8C00E631FF /* TVStationViewController.swift in Sources */, |
1488 | BFBB83D31ECBEB4E008B404B /* JYScrollView.m in Sources */, | 1488 | BFBB83D31ECBEB4E008B404B /* JYScrollView.m in Sources */, |
1489 | BF25E0081DDAA36A003EC0C1 /* UIView+WebCache.m in Sources */, | 1489 | BF25E0081DDAA36A003EC0C1 /* UIView+WebCache.m in Sources */, |
1490 | - 5904FC5D1ECA8ED400E631FF /* HomePageViewController.swift in Sources */, | ||
1491 | BFBB83A91ECAE35E008B404B /* LeadViewController.swift in Sources */, | 1490 | BFBB83A91ECAE35E008B404B /* LeadViewController.swift in Sources */, |
1492 | BF7B759C1E305A6D0011D5C7 /* MJRefreshAutoNormalFooter.m in Sources */, | 1491 | BF7B759C1E305A6D0011D5C7 /* MJRefreshAutoNormalFooter.m in Sources */, |
1493 | 5904FC4F1ECA8B8C00E631FF /* SearchTVStationListViewController.swift in Sources */, | 1492 | 5904FC4F1ECA8B8C00E631FF /* SearchTVStationListViewController.swift in Sources */, |
@@ -1514,6 +1513,7 @@ | @@ -1514,6 +1513,7 @@ | ||
1514 | BF25DFF81DDAA36A003EC0C1 /* NSData+ImageContentType.m in Sources */, | 1513 | BF25DFF81DDAA36A003EC0C1 /* NSData+ImageContentType.m in Sources */, |
1515 | BF25E0151DDAAF73003EC0C1 /* SVIndefiniteAnimatedView.m in Sources */, | 1514 | BF25E0151DDAAF73003EC0C1 /* SVIndefiniteAnimatedView.m in Sources */, |
1516 | BFF5F4921DD5B7CA00D33B89 /* SwiftyJSON.swift in Sources */, | 1515 | BFF5F4921DD5B7CA00D33B89 /* SwiftyJSON.swift in Sources */, |
1516 | + BF682F1E1ECE8772007632CA /* MainHomeTableViewController.swift in Sources */, | ||
1517 | BF7B75A91E305A6D0011D5C7 /* UIView+MJExtension.m in Sources */, | 1517 | BF7B75A91E305A6D0011D5C7 /* UIView+MJExtension.m in Sources */, |
1518 | BF25DFEE1DDAA36A003EC0C1 /* Result.swift in Sources */, | 1518 | BF25DFEE1DDAA36A003EC0C1 /* Result.swift in Sources */, |
1519 | BFDFDED21DD55C0D0040F102 /* network.swift in Sources */, | 1519 | BFDFDED21DD55C0D0040F102 /* network.swift in Sources */, |
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/icon_course_placeholder.imageset/Contents.json
0 → 100644
@@ -0,0 +1,21 @@ | @@ -0,0 +1,21 @@ | ||
1 | +{ | ||
2 | + "images" : [ | ||
3 | + { | ||
4 | + "idiom" : "universal", | ||
5 | + "scale" : "1x" | ||
6 | + }, | ||
7 | + { | ||
8 | + "idiom" : "universal", | ||
9 | + "filename" : "微课图标.jpg", | ||
10 | + "scale" : "2x" | ||
11 | + }, | ||
12 | + { | ||
13 | + "idiom" : "universal", | ||
14 | + "scale" : "3x" | ||
15 | + } | ||
16 | + ], | ||
17 | + "info" : { | ||
18 | + "version" : 1, | ||
19 | + "author" : "xcode" | ||
20 | + } | ||
21 | +} | ||
0 | \ No newline at end of file | 22 | \ No newline at end of file |
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/icon_course_placeholder.imageset/微课图标.jpg
0 → 100644
16 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/icon_school_placeholder.imageset/Contents.json
0 → 100644
@@ -0,0 +1,21 @@ | @@ -0,0 +1,21 @@ | ||
1 | +{ | ||
2 | + "images" : [ | ||
3 | + { | ||
4 | + "idiom" : "universal", | ||
5 | + "scale" : "1x" | ||
6 | + }, | ||
7 | + { | ||
8 | + "idiom" : "universal", | ||
9 | + "filename" : "mologo.jpg", | ||
10 | + "scale" : "2x" | ||
11 | + }, | ||
12 | + { | ||
13 | + "idiom" : "universal", | ||
14 | + "scale" : "3x" | ||
15 | + } | ||
16 | + ], | ||
17 | + "info" : { | ||
18 | + "version" : 1, | ||
19 | + "author" : "xcode" | ||
20 | + } | ||
21 | +} | ||
0 | \ No newline at end of file | 22 | \ No newline at end of file |
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/icon_school_placeholder.imageset/mologo.jpg
0 → 100644
17.7 KB
YouerLiveVideo/YouerLiveVideo/Base.lproj/Main.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" initialViewController="fhe-aI-EYq"> | 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" initialViewController="fhe-aI-EYq"> | ||
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> |
@@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
7 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11757"/> | 7 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11757"/> |
8 | <capability name="Aspect ratio constraints" minToolsVersion="5.1"/> | 8 | <capability name="Aspect ratio constraints" minToolsVersion="5.1"/> |
9 | <capability name="Constraints to layout margins" minToolsVersion="6.0"/> | 9 | <capability name="Constraints to layout margins" minToolsVersion="6.0"/> |
10 | + <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/> | ||
10 | <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"/> |
11 | </dependencies> | 12 | </dependencies> |
12 | <scenes> | 13 | <scenes> |
@@ -50,7 +51,7 @@ | @@ -50,7 +51,7 @@ | ||
50 | <rect key="frame" x="0.0" y="28" width="375" height="143"/> | 51 | <rect key="frame" x="0.0" y="28" width="375" height="143"/> |
51 | <autoresizingMask key="autoresizingMask"/> | 52 | <autoresizingMask key="autoresizingMask"/> |
52 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="tO9-FG-1Ux" id="73f-qf-61d"> | 53 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="tO9-FG-1Ux" id="73f-qf-61d"> |
53 | - <rect key="frame" x="0.0" y="0.0" width="375" height="143"/> | 54 | + <rect key="frame" x="0.0" y="0.0" width="375" height="142"/> |
54 | <autoresizingMask key="autoresizingMask"/> | 55 | <autoresizingMask key="autoresizingMask"/> |
55 | <subviews> | 56 | <subviews> |
56 | <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="9sK-3H-gLf"> | 57 | <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="9sK-3H-gLf"> |
@@ -106,6 +107,556 @@ | @@ -106,6 +107,556 @@ | ||
106 | </objects> | 107 | </objects> |
107 | <point key="canvasLocation" x="-1084" y="2113"/> | 108 | <point key="canvasLocation" x="-1084" y="2113"/> |
108 | </scene> | 109 | </scene> |
110 | + <!--Main Home Table View Controller--> | ||
111 | + <scene sceneID="Npa-Do-pvj"> | ||
112 | + <objects> | ||
113 | + <tableViewController id="HdB-6p-eAX" customClass="MainHomeTableViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController"> | ||
114 | + <tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="static" style="plain" separatorStyle="none" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" id="HVm-Fp-caS"> | ||
115 | + <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | ||
116 | + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | ||
117 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | ||
118 | + <view key="tableHeaderView" contentMode="scaleToFill" id="w64-sF-NZ9"> | ||
119 | + <rect key="frame" x="0.0" y="0.0" width="375" height="152"/> | ||
120 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | ||
121 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | ||
122 | + </view> | ||
123 | + <view key="tableFooterView" contentMode="scaleToFill" id="1qL-hk-kYn"> | ||
124 | + <rect key="frame" x="0.0" y="1036" width="375" height="1"/> | ||
125 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | ||
126 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | ||
127 | + </view> | ||
128 | + <sections> | ||
129 | + <tableViewSection id="pNm-2D-Tsg"> | ||
130 | + <cells> | ||
131 | + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="cell0" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="cell0" rowHeight="212" id="WpB-g6-meC" customClass="HomeFirstTableViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> | ||
132 | + <rect key="frame" x="0.0" y="152" width="375" height="212"/> | ||
133 | + <autoresizingMask key="autoresizingMask"/> | ||
134 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="WpB-g6-meC" id="6kt-xb-IdN"> | ||
135 | + <rect key="frame" x="0.0" y="0.0" width="375" height="212"/> | ||
136 | + <autoresizingMask key="autoresizingMask"/> | ||
137 | + <subviews> | ||
138 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7wy-DL-PKX"> | ||
139 | + <rect key="frame" x="0.0" y="0.0" width="375" height="20"/> | ||
140 | + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> | ||
141 | + <constraints> | ||
142 | + <constraint firstAttribute="height" constant="20" id="mtL-aK-O9I"/> | ||
143 | + </constraints> | ||
144 | + </view> | ||
145 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="tc9-OD-L9x"> | ||
146 | + <rect key="frame" x="8" y="28" width="30" height="30"/> | ||
147 | + <constraints> | ||
148 | + <constraint firstAttribute="height" constant="30" id="dzU-2e-0A0"/> | ||
149 | + <constraint firstAttribute="width" constant="30" id="jeW-Q1-Yqy"/> | ||
150 | + </constraints> | ||
151 | + </imageView> | ||
152 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="gpI-zw-6qq"> | ||
153 | + <rect key="frame" x="337" y="28" width="30" height="30"/> | ||
154 | + <constraints> | ||
155 | + <constraint firstAttribute="width" constant="30" id="X2b-MK-4bQ"/> | ||
156 | + <constraint firstAttribute="height" constant="30" id="ZkK-Yr-R26"/> | ||
157 | + </constraints> | ||
158 | + </imageView> | ||
159 | + <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"> | ||
160 | + <rect key="frame" x="46" y="33" width="35" height="21"/> | ||
161 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | ||
162 | + <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> | ||
163 | + <nil key="highlightedColor"/> | ||
164 | + </label> | ||
165 | + <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="BjK-Gw-VeS"> | ||
166 | + <rect key="frame" x="8" y="83" width="359" height="129"/> | ||
167 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | ||
168 | + <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="gds-Wd-nlX"> | ||
169 | + <size key="itemSize" width="106" height="113"/> | ||
170 | + <size key="headerReferenceSize" width="0.0" height="0.0"/> | ||
171 | + <size key="footerReferenceSize" width="0.0" height="0.0"/> | ||
172 | + <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/> | ||
173 | + </collectionViewFlowLayout> | ||
174 | + <cells> | ||
175 | + <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="HomeFirstCollectionViewCell" id="0XL-6V-xV9" customClass="HomeFirstCollectionViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> | ||
176 | + <rect key="frame" x="0.0" y="0.0" width="106" height="113"/> | ||
177 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | ||
178 | + <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> | ||
179 | + <rect key="frame" x="0.0" y="0.0" width="106" height="113"/> | ||
180 | + <autoresizingMask key="autoresizingMask"/> | ||
181 | + <subviews> | ||
182 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="633-X9-DpN"> | ||
183 | + <rect key="frame" x="0.0" y="0.0" width="106" height="113"/> | ||
184 | + </imageView> | ||
185 | + <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"> | ||
186 | + <rect key="frame" x="8" y="8" width="35" height="21"/> | ||
187 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | ||
188 | + <nil key="textColor"/> | ||
189 | + <nil key="highlightedColor"/> | ||
190 | + </label> | ||
191 | + </subviews> | ||
192 | + </view> | ||
193 | + <constraints> | ||
194 | + <constraint firstItem="633-X9-DpN" firstAttribute="leading" secondItem="0XL-6V-xV9" secondAttribute="leading" id="G57-Qp-dfe"/> | ||
195 | + <constraint firstItem="AAa-2a-bHH" firstAttribute="top" secondItem="0XL-6V-xV9" secondAttribute="top" constant="8" id="Iul-8f-BwX"/> | ||
196 | + <constraint firstAttribute="bottom" secondItem="633-X9-DpN" secondAttribute="bottom" id="ONY-eZ-XBq"/> | ||
197 | + <constraint firstItem="AAa-2a-bHH" firstAttribute="leading" secondItem="0XL-6V-xV9" secondAttribute="leading" constant="8" id="PYe-Np-vCp"/> | ||
198 | + <constraint firstAttribute="trailing" secondItem="633-X9-DpN" secondAttribute="trailing" id="Rd8-Af-zg2"/> | ||
199 | + <constraint firstItem="633-X9-DpN" firstAttribute="top" secondItem="0XL-6V-xV9" secondAttribute="top" id="k6d-av-nd0"/> | ||
200 | + </constraints> | ||
201 | + <connections> | ||
202 | + <outlet property="iconImageView" destination="633-X9-DpN" id="3sj-Ce-mor"/> | ||
203 | + <outlet property="nameLabel" destination="AAa-2a-bHH" id="2y6-di-cww"/> | ||
204 | + </connections> | ||
205 | + </collectionViewCell> | ||
206 | + </cells> | ||
207 | + <connections> | ||
208 | + <outlet property="dataSource" destination="WpB-g6-meC" id="3n2-SF-HZB"/> | ||
209 | + <outlet property="delegate" destination="WpB-g6-meC" id="fee-f0-bJS"/> | ||
210 | + </connections> | ||
211 | + </collectionView> | ||
212 | + </subviews> | ||
213 | + <constraints> | ||
214 | + <constraint firstItem="BjK-Gw-VeS" firstAttribute="top" secondItem="gpI-zw-6qq" secondAttribute="bottom" constant="25" id="28f-X5-SdT"/> | ||
215 | + <constraint firstItem="tc9-OD-L9x" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="top" constant="28" id="FmW-tn-Ne9"/> | ||
216 | + <constraint firstItem="tc9-OD-L9x" firstAttribute="leading" secondItem="6kt-xb-IdN" secondAttribute="leading" constant="8" id="H9H-ud-58B"/> | ||
217 | + <constraint firstAttribute="trailing" secondItem="gpI-zw-6qq" secondAttribute="trailing" constant="8" id="TOV-dd-5uu"/> | ||
218 | + <constraint firstAttribute="trailing" secondItem="7wy-DL-PKX" secondAttribute="trailing" id="VW0-SV-RMy"/> | ||
219 | + <constraint firstItem="qcg-Fh-r2v" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="topMargin" constant="25" id="XhC-hV-TPX"/> | ||
220 | + <constraint firstItem="7wy-DL-PKX" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="top" id="YbM-fT-qi7"/> | ||
221 | + <constraint firstItem="BjK-Gw-VeS" firstAttribute="leading" secondItem="6kt-xb-IdN" secondAttribute="leading" constant="8" id="fES-Cd-ybP"/> | ||
222 | + <constraint firstAttribute="bottom" secondItem="BjK-Gw-VeS" secondAttribute="bottom" id="iOk-mu-PWT"/> | ||
223 | + <constraint firstItem="7wy-DL-PKX" firstAttribute="leading" secondItem="6kt-xb-IdN" secondAttribute="leading" id="s4K-qo-g3e"/> | ||
224 | + <constraint firstItem="qcg-Fh-r2v" firstAttribute="leading" secondItem="tc9-OD-L9x" secondAttribute="trailing" constant="8" id="sZ7-sT-QdJ"/> | ||
225 | + <constraint firstAttribute="trailing" secondItem="BjK-Gw-VeS" secondAttribute="trailing" constant="8" id="ujX-8f-TtW"/> | ||
226 | + <constraint firstItem="gpI-zw-6qq" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="top" constant="28" id="yQW-LA-9fx"/> | ||
227 | + </constraints> | ||
228 | + </tableViewCellContentView> | ||
229 | + </tableViewCell> | ||
230 | + <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"> | ||
231 | + <rect key="frame" x="0.0" y="364" width="375" height="239"/> | ||
232 | + <autoresizingMask key="autoresizingMask"/> | ||
233 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="ZCI-0y-Uf0" id="Cq0-Rg-if7"> | ||
234 | + <rect key="frame" x="0.0" y="0.0" width="375" height="239"/> | ||
235 | + <autoresizingMask key="autoresizingMask"/> | ||
236 | + <subviews> | ||
237 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="X1l-jG-Huh"> | ||
238 | + <rect key="frame" x="0.0" y="0.0" width="375" height="20"/> | ||
239 | + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> | ||
240 | + <constraints> | ||
241 | + <constraint firstAttribute="height" constant="20" id="cu9-3U-16R"/> | ||
242 | + </constraints> | ||
243 | + </view> | ||
244 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="JfT-qO-w2b"> | ||
245 | + <rect key="frame" x="8" y="28" width="30" height="30"/> | ||
246 | + <constraints> | ||
247 | + <constraint firstAttribute="width" constant="30" id="gju-0Y-vbI"/> | ||
248 | + <constraint firstAttribute="height" constant="30" id="upC-qc-OXv"/> | ||
249 | + </constraints> | ||
250 | + </imageView> | ||
251 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="QcE-wo-WjW"> | ||
252 | + <rect key="frame" x="337" y="28" width="30" height="30"/> | ||
253 | + <constraints> | ||
254 | + <constraint firstAttribute="width" constant="30" id="6rP-92-fox"/> | ||
255 | + <constraint firstAttribute="height" constant="30" id="DH3-jE-L3a"/> | ||
256 | + </constraints> | ||
257 | + </imageView> | ||
258 | + <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"> | ||
259 | + <rect key="frame" x="46" y="33" width="69.5" height="21"/> | ||
260 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | ||
261 | + <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> | ||
262 | + <nil key="highlightedColor"/> | ||
263 | + </label> | ||
264 | + <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" tag="1" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="RVe-Pr-T23"> | ||
265 | + <rect key="frame" x="8" y="83" width="359" height="156"/> | ||
266 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | ||
267 | + <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="w5u-tk-vf4"> | ||
268 | + <size key="itemSize" width="165" height="146"/> | ||
269 | + <size key="headerReferenceSize" width="0.0" height="0.0"/> | ||
270 | + <size key="footerReferenceSize" width="0.0" height="0.0"/> | ||
271 | + <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/> | ||
272 | + </collectionViewFlowLayout> | ||
273 | + <cells> | ||
274 | + <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="HomeSecondCollectionViewCell" id="apu-hG-EEc" customClass="HomeSecondCollectionViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> | ||
275 | + <rect key="frame" x="0.0" y="0.0" width="165" height="146"/> | ||
276 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | ||
277 | + <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> | ||
278 | + <rect key="frame" x="0.0" y="0.0" width="165" height="146"/> | ||
279 | + <autoresizingMask key="autoresizingMask"/> | ||
280 | + <subviews> | ||
281 | + <imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="5g9-CD-vXa"> | ||
282 | + <rect key="frame" x="0.0" y="0.0" width="160" height="87.5"/> | ||
283 | + <userDefinedRuntimeAttributes> | ||
284 | + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/> | ||
285 | + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> | ||
286 | + <integer key="value" value="5"/> | ||
287 | + </userDefinedRuntimeAttribute> | ||
288 | + </userDefinedRuntimeAttributes> | ||
289 | + </imageView> | ||
290 | + <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"> | ||
291 | + <rect key="frame" x="0.0" y="97" width="117.5" height="18"/> | ||
292 | + <fontDescription key="fontDescription" type="system" pointSize="15"/> | ||
293 | + <nil key="textColor"/> | ||
294 | + <nil key="highlightedColor"/> | ||
295 | + </label> | ||
296 | + <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"> | ||
297 | + <rect key="frame" x="0.0" y="123" width="96" height="15"/> | ||
298 | + <fontDescription key="fontDescription" type="system" pointSize="12"/> | ||
299 | + <nil key="textColor"/> | ||
300 | + <nil key="highlightedColor"/> | ||
301 | + </label> | ||
302 | + <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"> | ||
303 | + <rect key="frame" x="125.5" y="99.5" width="34.5" height="16"/> | ||
304 | + <constraints> | ||
305 | + <constraint firstAttribute="width" constant="34.5" id="4Ms-Yd-VYH"/> | ||
306 | + </constraints> | ||
307 | + <fontDescription key="fontDescription" type="system" pointSize="13"/> | ||
308 | + <nil key="textColor"/> | ||
309 | + <nil key="highlightedColor"/> | ||
310 | + </label> | ||
311 | + <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"> | ||
312 | + <rect key="frame" x="121.5" y="123.5" width="38.5" height="14.5"/> | ||
313 | + <fontDescription key="fontDescription" type="system" pointSize="12"/> | ||
314 | + <nil key="textColor"/> | ||
315 | + <nil key="highlightedColor"/> | ||
316 | + </label> | ||
317 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="Ah6-9S-zUX"> | ||
318 | + <rect key="frame" x="104" y="123" width="15" height="15"/> | ||
319 | + <constraints> | ||
320 | + <constraint firstAttribute="width" constant="15" id="Gst-KJ-hy2"/> | ||
321 | + <constraint firstAttribute="height" constant="15" id="IB2-dY-89b"/> | ||
322 | + </constraints> | ||
323 | + </imageView> | ||
324 | + </subviews> | ||
325 | + </view> | ||
326 | + <constraints> | ||
327 | + <constraint firstItem="Z3c-Ai-wr8" firstAttribute="leading" secondItem="FRa-kP-4Or" secondAttribute="trailing" constant="8" id="4L1-p3-lcO"/> | ||
328 | + <constraint firstAttribute="trailingMargin" secondItem="Okq-ZI-Xh2" secondAttribute="trailing" constant="61" id="6V2-3e-YCS"/> | ||
329 | + <constraint firstItem="5g9-CD-vXa" firstAttribute="leading" secondItem="apu-hG-EEc" secondAttribute="leading" id="8mz-9g-viB"/> | ||
330 | + <constraint firstItem="5g9-CD-vXa" firstAttribute="height" secondItem="apu-hG-EEc" secondAttribute="height" multiplier="3:5" id="Cna-LC-U6q"/> | ||
331 | + <constraint firstAttribute="trailing" secondItem="tln-9q-8L4" secondAttribute="trailing" constant="5" id="E6O-vX-SmB"/> | ||
332 | + <constraint firstItem="Okq-ZI-Xh2" firstAttribute="top" secondItem="FRa-kP-4Or" secondAttribute="bottom" constant="8" id="Jbx-d9-HO1"/> | ||
333 | + <constraint firstItem="FRa-kP-4Or" firstAttribute="leading" secondItem="apu-hG-EEc" secondAttribute="leading" id="Ntj-vJ-hJ8"/> | ||
334 | + <constraint firstAttribute="bottom" secondItem="Okq-ZI-Xh2" secondAttribute="bottom" constant="8" id="QF3-cj-K1q"/> | ||
335 | + <constraint firstItem="5g9-CD-vXa" firstAttribute="top" secondItem="apu-hG-EEc" secondAttribute="top" id="QVL-f3-dbA"/> | ||
336 | + <constraint firstAttribute="bottom" secondItem="tln-9q-8L4" secondAttribute="bottom" constant="8" id="ZWt-gE-SDD"/> | ||
337 | + <constraint firstItem="Okq-ZI-Xh2" firstAttribute="leading" secondItem="apu-hG-EEc" secondAttribute="leading" id="amA-JO-bBv"/> | ||
338 | + <constraint firstAttribute="trailing" secondItem="Z3c-Ai-wr8" secondAttribute="trailing" constant="5" id="gQg-P7-tzY"/> | ||
339 | + <constraint firstItem="tln-9q-8L4" firstAttribute="leading" secondItem="Ah6-9S-zUX" secondAttribute="trailing" constant="2.5" id="hcm-2p-mkH"/> | ||
340 | + <constraint firstAttribute="trailing" secondItem="5g9-CD-vXa" secondAttribute="trailing" constant="5" id="iYZ-VU-Qxd"/> | ||
341 | + <constraint firstAttribute="bottomMargin" secondItem="Ah6-9S-zUX" secondAttribute="bottom" id="o2X-v5-iIB"/> | ||
342 | + <constraint firstItem="tln-9q-8L4" firstAttribute="top" secondItem="Z3c-Ai-wr8" secondAttribute="bottom" constant="8" id="odz-bE-nss"/> | ||
343 | + </constraints> | ||
344 | + <connections> | ||
345 | + <outlet property="dateLabel" destination="Z3c-Ai-wr8" id="FRL-DX-Cjy"/> | ||
346 | + <outlet property="iconImageView" destination="5g9-CD-vXa" id="EQB-0A-hXj"/> | ||
347 | + <outlet property="nameLabel" destination="FRa-kP-4Or" id="qAL-if-Kf2"/> | ||
348 | + <outlet property="readCountLabel" destination="tln-9q-8L4" id="1GI-Sy-TsB"/> | ||
349 | + <outlet property="teacherNameLabel" destination="Okq-ZI-Xh2" id="HPa-re-d6d"/> | ||
350 | + </connections> | ||
351 | + </collectionViewCell> | ||
352 | + </cells> | ||
353 | + <connections> | ||
354 | + <outlet property="dataSource" destination="ZCI-0y-Uf0" id="ivX-CJ-aBL"/> | ||
355 | + <outlet property="delegate" destination="ZCI-0y-Uf0" id="T9H-LD-Xkp"/> | ||
356 | + </connections> | ||
357 | + </collectionView> | ||
358 | + </subviews> | ||
359 | + <constraints> | ||
360 | + <constraint firstItem="Xxv-Eh-YJD" firstAttribute="leading" secondItem="JfT-qO-w2b" secondAttribute="trailing" constant="8" id="Oh2-rT-AyR"/> | ||
361 | + <constraint firstItem="JfT-qO-w2b" firstAttribute="top" secondItem="X1l-jG-Huh" secondAttribute="bottom" constant="8" id="Oq0-HW-fvi"/> | ||
362 | + <constraint firstItem="X1l-jG-Huh" firstAttribute="leading" secondItem="Cq0-Rg-if7" secondAttribute="leading" id="PzB-GC-QTO"/> | ||
363 | + <constraint firstItem="JfT-qO-w2b" firstAttribute="leading" secondItem="Cq0-Rg-if7" secondAttribute="leading" constant="8" id="Vk4-B0-rkr"/> | ||
364 | + <constraint firstItem="X1l-jG-Huh" firstAttribute="top" secondItem="Cq0-Rg-if7" secondAttribute="top" id="VrV-Ys-kvx"/> | ||
365 | + <constraint firstAttribute="trailing" secondItem="RVe-Pr-T23" secondAttribute="trailing" constant="8" id="bZh-d7-on4"/> | ||
366 | + <constraint firstItem="QcE-wo-WjW" firstAttribute="top" secondItem="X1l-jG-Huh" secondAttribute="bottom" constant="8" id="f8O-fQ-wlw"/> | ||
367 | + <constraint firstAttribute="bottom" secondItem="RVe-Pr-T23" secondAttribute="bottom" id="n4e-2D-Lhx"/> | ||
368 | + <constraint firstItem="RVe-Pr-T23" firstAttribute="leading" secondItem="Cq0-Rg-if7" secondAttribute="leading" constant="8" id="npx-Ap-jZy"/> | ||
369 | + <constraint firstItem="RVe-Pr-T23" firstAttribute="top" secondItem="QcE-wo-WjW" secondAttribute="bottom" constant="25" id="qSC-rl-7ob"/> | ||
370 | + <constraint firstAttribute="trailing" secondItem="X1l-jG-Huh" secondAttribute="trailing" id="r4k-87-FG5"/> | ||
371 | + <constraint firstItem="Xxv-Eh-YJD" firstAttribute="top" secondItem="X1l-jG-Huh" secondAttribute="bottom" constant="13" id="rRq-W3-cJT"/> | ||
372 | + <constraint firstAttribute="trailing" secondItem="QcE-wo-WjW" secondAttribute="trailing" constant="8" id="wTk-uV-bbq"/> | ||
373 | + </constraints> | ||
374 | + </tableViewCellContentView> | ||
375 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | ||
376 | + </tableViewCell> | ||
377 | + <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"> | ||
378 | + <rect key="frame" x="0.0" y="603" width="375" height="313"/> | ||
379 | + <autoresizingMask key="autoresizingMask"/> | ||
380 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="gzq-jC-D39" id="kA1-Za-kS2"> | ||
381 | + <rect key="frame" x="0.0" y="0.0" width="375" height="313"/> | ||
382 | + <autoresizingMask key="autoresizingMask"/> | ||
383 | + <subviews> | ||
384 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9Zz-SB-8Fl"> | ||
385 | + <rect key="frame" x="0.0" y="0.0" width="375" height="20"/> | ||
386 | + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> | ||
387 | + <constraints> | ||
388 | + <constraint firstAttribute="height" constant="20" id="zk7-4f-Srd"/> | ||
389 | + </constraints> | ||
390 | + </view> | ||
391 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="UWk-5A-PEj"> | ||
392 | + <rect key="frame" x="8" y="28" width="30" height="30"/> | ||
393 | + <constraints> | ||
394 | + <constraint firstAttribute="width" constant="30" id="c35-8L-oxO"/> | ||
395 | + <constraint firstAttribute="height" constant="30" id="iOy-11-gMR"/> | ||
396 | + </constraints> | ||
397 | + </imageView> | ||
398 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="Tib-Fm-A1U"> | ||
399 | + <rect key="frame" x="337" y="28" width="30" height="30"/> | ||
400 | + <constraints> | ||
401 | + <constraint firstAttribute="height" constant="30" id="5ek-5S-7Cb"/> | ||
402 | + <constraint firstAttribute="width" constant="30" id="k5G-EP-9l9"/> | ||
403 | + </constraints> | ||
404 | + </imageView> | ||
405 | + <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"> | ||
406 | + <rect key="frame" x="46" y="33" width="35" height="21"/> | ||
407 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | ||
408 | + <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> | ||
409 | + <nil key="highlightedColor"/> | ||
410 | + </label> | ||
411 | + <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" tag="1" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="0uI-9D-XVZ"> | ||
412 | + <rect key="frame" x="8" y="83" width="359" height="230"/> | ||
413 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | ||
414 | + <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="f2C-TL-VTa"> | ||
415 | + <size key="itemSize" width="113" height="222"/> | ||
416 | + <size key="headerReferenceSize" width="0.0" height="0.0"/> | ||
417 | + <size key="footerReferenceSize" width="0.0" height="0.0"/> | ||
418 | + <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/> | ||
419 | + </collectionViewFlowLayout> | ||
420 | + <cells> | ||
421 | + <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="HomeThirdCollectionViewCell" id="gdp-Ji-zur" customClass="HomeThirdCollectionViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> | ||
422 | + <rect key="frame" x="0.0" y="0.0" width="113" height="222"/> | ||
423 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | ||
424 | + <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> | ||
425 | + <rect key="frame" x="0.0" y="0.0" width="113" height="222"/> | ||
426 | + <autoresizingMask key="autoresizingMask"/> | ||
427 | + <subviews> | ||
428 | + <imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="bUk-R1-5gT"> | ||
429 | + <rect key="frame" x="0.0" y="0.0" width="108" height="108"/> | ||
430 | + <constraints> | ||
431 | + <constraint firstAttribute="width" secondItem="bUk-R1-5gT" secondAttribute="height" multiplier="1:1" id="MTe-oF-wJF"/> | ||
432 | + </constraints> | ||
433 | + <userDefinedRuntimeAttributes> | ||
434 | + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/> | ||
435 | + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> | ||
436 | + <integer key="value" value="5"/> | ||
437 | + </userDefinedRuntimeAttribute> | ||
438 | + </userDefinedRuntimeAttributes> | ||
439 | + </imageView> | ||
440 | + <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"> | ||
441 | + <rect key="frame" x="0.0" y="125" width="108" height="42"/> | ||
442 | + <constraints> | ||
443 | + <constraint firstAttribute="height" constant="42" id="9Hi-f9-B2N"/> | ||
444 | + </constraints> | ||
445 | + <fontDescription key="fontDescription" type="system" pointSize="15"/> | ||
446 | + <nil key="textColor"/> | ||
447 | + <nil key="highlightedColor"/> | ||
448 | + </label> | ||
449 | + <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"> | ||
450 | + <rect key="frame" x="0.0" y="198" width="44" height="16"/> | ||
451 | + <fontDescription key="fontDescription" type="system" pointSize="13"/> | ||
452 | + <nil key="textColor"/> | ||
453 | + <nil key="highlightedColor"/> | ||
454 | + </label> | ||
455 | + <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"> | ||
456 | + <rect key="frame" x="69" y="199" width="39" height="15"/> | ||
457 | + <fontDescription key="fontDescription" type="system" pointSize="12"/> | ||
458 | + <nil key="textColor"/> | ||
459 | + <nil key="highlightedColor"/> | ||
460 | + </label> | ||
461 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="j8z-Dm-5mL"> | ||
462 | + <rect key="frame" x="52" y="199" width="15" height="15"/> | ||
463 | + <constraints> | ||
464 | + <constraint firstAttribute="width" constant="15" id="f5p-Mv-Ylo"/> | ||
465 | + <constraint firstAttribute="height" constant="15" id="yKI-Iv-ctT"/> | ||
466 | + </constraints> | ||
467 | + </imageView> | ||
468 | + <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"> | ||
469 | + <rect key="frame" x="0.0" y="175" width="108" height="15"/> | ||
470 | + <constraints> | ||
471 | + <constraint firstAttribute="height" constant="15" id="8nl-am-VuO"/> | ||
472 | + </constraints> | ||
473 | + <fontDescription key="fontDescription" type="system" pointSize="12"/> | ||
474 | + <nil key="textColor"/> | ||
475 | + <nil key="highlightedColor"/> | ||
476 | + </label> | ||
477 | + </subviews> | ||
478 | + </view> | ||
479 | + <constraints> | ||
480 | + <constraint firstItem="Ens-w5-JNf" firstAttribute="leading" secondItem="j8z-Dm-5mL" secondAttribute="trailing" constant="2.5" id="64X-uP-6eu"/> | ||
481 | + <constraint firstAttribute="trailing" secondItem="vag-ao-LKQ" secondAttribute="trailing" constant="5" id="8jK-AG-5BE"/> | ||
482 | + <constraint firstItem="q2O-JU-nOk" firstAttribute="top" secondItem="vag-ao-LKQ" secondAttribute="bottom" constant="8" id="BxM-zs-idP"/> | ||
483 | + <constraint firstAttribute="bottomMargin" secondItem="j8z-Dm-5mL" secondAttribute="bottom" id="CTt-Wl-pgl"/> | ||
484 | + <constraint firstAttribute="bottom" secondItem="Ens-w5-JNf" secondAttribute="bottom" constant="8" id="CYj-Yh-ykl"/> | ||
485 | + <constraint firstItem="vag-ao-LKQ" firstAttribute="leading" secondItem="gdp-Ji-zur" secondAttribute="leading" id="Djn-nH-5tu"/> | ||
486 | + <constraint firstItem="vag-ao-LKQ" firstAttribute="top" secondItem="Zk6-bu-T1Z" secondAttribute="bottom" constant="8" id="TUh-h3-ZgZ"/> | ||
487 | + <constraint firstAttribute="bottom" secondItem="q2O-JU-nOk" secondAttribute="bottom" constant="8" id="URf-Pj-lNP"/> | ||
488 | + <constraint firstItem="Zk6-bu-T1Z" firstAttribute="leading" secondItem="gdp-Ji-zur" secondAttribute="leading" id="Vng-Q4-dJt"/> | ||
489 | + <constraint firstAttribute="trailing" secondItem="Ens-w5-JNf" secondAttribute="trailing" constant="5" id="WIv-BG-KUZ"/> | ||
490 | + <constraint firstItem="bUk-R1-5gT" firstAttribute="leading" secondItem="gdp-Ji-zur" secondAttribute="leading" id="X8S-q4-Yjy"/> | ||
491 | + <constraint firstAttribute="trailing" secondItem="Zk6-bu-T1Z" secondAttribute="trailing" constant="5" id="ZCV-WC-xJv"/> | ||
492 | + <constraint firstAttribute="trailingMargin" secondItem="q2O-JU-nOk" secondAttribute="trailing" constant="61" id="ojG-9i-zX4"/> | ||
493 | + <constraint firstItem="bUk-R1-5gT" firstAttribute="top" secondItem="gdp-Ji-zur" secondAttribute="top" id="q6C-YR-cFO"/> | ||
494 | + <constraint firstItem="q2O-JU-nOk" firstAttribute="leading" secondItem="gdp-Ji-zur" secondAttribute="leading" id="qUh-gl-kWl"/> | ||
495 | + <constraint firstAttribute="trailing" secondItem="bUk-R1-5gT" secondAttribute="trailing" constant="5" id="xj0-qF-rhP"/> | ||
496 | + </constraints> | ||
497 | + <connections> | ||
498 | + <outlet property="dateLabel" destination="q2O-JU-nOk" id="cCA-VL-aAf"/> | ||
499 | + <outlet property="iconImageView" destination="bUk-R1-5gT" id="jGO-DB-eGr"/> | ||
500 | + <outlet property="nameLabel" destination="Zk6-bu-T1Z" id="8pF-3S-yhF"/> | ||
501 | + <outlet property="readCountLabel" destination="Ens-w5-JNf" id="wAt-6p-bHE"/> | ||
502 | + <outlet property="teacherNameLabel" destination="vag-ao-LKQ" id="mgc-Mu-jqm"/> | ||
503 | + </connections> | ||
504 | + </collectionViewCell> | ||
505 | + </cells> | ||
506 | + <connections> | ||
507 | + <outlet property="dataSource" destination="gzq-jC-D39" id="CkM-GA-Vfd"/> | ||
508 | + <outlet property="delegate" destination="gzq-jC-D39" id="VMh-ge-eXi"/> | ||
509 | + </connections> | ||
510 | + </collectionView> | ||
511 | + </subviews> | ||
512 | + <constraints> | ||
513 | + <constraint firstItem="Tib-Fm-A1U" firstAttribute="top" secondItem="9Zz-SB-8Fl" secondAttribute="bottom" constant="8" id="35X-cd-fAU"/> | ||
514 | + <constraint firstItem="nKJ-qz-sg8" firstAttribute="top" secondItem="9Zz-SB-8Fl" secondAttribute="bottom" constant="13" id="A8h-XS-V9X"/> | ||
515 | + <constraint firstItem="UWk-5A-PEj" firstAttribute="leading" secondItem="kA1-Za-kS2" secondAttribute="leading" constant="8" id="GTt-JU-67B"/> | ||
516 | + <constraint firstAttribute="bottom" secondItem="0uI-9D-XVZ" secondAttribute="bottom" id="IiM-YI-cmg"/> | ||
517 | + <constraint firstItem="0uI-9D-XVZ" firstAttribute="top" secondItem="Tib-Fm-A1U" secondAttribute="bottom" constant="25" id="NOs-5g-r1E"/> | ||
518 | + <constraint firstAttribute="trailing" secondItem="Tib-Fm-A1U" secondAttribute="trailing" constant="8" id="Rg7-Q9-IdK"/> | ||
519 | + <constraint firstItem="nKJ-qz-sg8" firstAttribute="leading" secondItem="UWk-5A-PEj" secondAttribute="trailing" constant="8" id="TRM-qN-0jP"/> | ||
520 | + <constraint firstAttribute="trailing" secondItem="9Zz-SB-8Fl" secondAttribute="trailing" id="Ujw-UV-mco"/> | ||
521 | + <constraint firstItem="UWk-5A-PEj" firstAttribute="top" secondItem="9Zz-SB-8Fl" secondAttribute="bottom" constant="8" id="aKU-kC-KTK"/> | ||
522 | + <constraint firstAttribute="trailing" secondItem="0uI-9D-XVZ" secondAttribute="trailing" constant="8" id="c13-N9-TW8"/> | ||
523 | + <constraint firstItem="9Zz-SB-8Fl" firstAttribute="leading" secondItem="kA1-Za-kS2" secondAttribute="leading" id="iZd-Ff-YdA"/> | ||
524 | + <constraint firstItem="9Zz-SB-8Fl" firstAttribute="top" secondItem="kA1-Za-kS2" secondAttribute="top" id="io6-vo-MrT"/> | ||
525 | + <constraint firstItem="0uI-9D-XVZ" firstAttribute="leading" secondItem="kA1-Za-kS2" secondAttribute="leading" constant="8" id="ivh-0J-PTg"/> | ||
526 | + </constraints> | ||
527 | + </tableViewCellContentView> | ||
528 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | ||
529 | + </tableViewCell> | ||
530 | + <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"> | ||
531 | + <rect key="frame" x="0.0" y="916" width="375" height="120"/> | ||
532 | + <autoresizingMask key="autoresizingMask"/> | ||
533 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="u0l-tM-Sps" id="pAP-UQ-eh8"> | ||
534 | + <rect key="frame" x="0.0" y="0.0" width="375" height="120"/> | ||
535 | + <autoresizingMask key="autoresizingMask"/> | ||
536 | + <subviews> | ||
537 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Mv3-YA-1zb"> | ||
538 | + <rect key="frame" x="0.0" y="0.0" width="375" height="20"/> | ||
539 | + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> | ||
540 | + <constraints> | ||
541 | + <constraint firstAttribute="height" constant="20" id="8kZ-Qb-uv0"/> | ||
542 | + </constraints> | ||
543 | + </view> | ||
544 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="NyS-EO-TLP"> | ||
545 | + <rect key="frame" x="8" y="28" width="30" height="30"/> | ||
546 | + <constraints> | ||
547 | + <constraint firstAttribute="width" constant="30" id="3VH-BC-Dg6"/> | ||
548 | + <constraint firstAttribute="height" constant="30" id="FB0-l5-0Jp"/> | ||
549 | + </constraints> | ||
550 | + </imageView> | ||
551 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="TE2-1P-sZs"> | ||
552 | + <rect key="frame" x="337" y="28" width="30" height="30"/> | ||
553 | + <constraints> | ||
554 | + <constraint firstAttribute="height" constant="30" id="EJo-or-6w8"/> | ||
555 | + <constraint firstAttribute="width" constant="30" id="HqT-ZX-Hf6"/> | ||
556 | + </constraints> | ||
557 | + </imageView> | ||
558 | + <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"> | ||
559 | + <rect key="frame" x="46" y="33" width="87" height="21"/> | ||
560 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | ||
561 | + <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> | ||
562 | + <nil key="highlightedColor"/> | ||
563 | + </label> | ||
564 | + <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" tag="1" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="cYp-Zl-nJm"> | ||
565 | + <rect key="frame" x="8" y="83" width="359" height="37"/> | ||
566 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | ||
567 | + <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="8" id="WlM-Mm-GpJ"> | ||
568 | + <size key="itemSize" width="128" height="200"/> | ||
569 | + <size key="headerReferenceSize" width="0.0" height="0.0"/> | ||
570 | + <size key="footerReferenceSize" width="0.0" height="0.0"/> | ||
571 | + <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/> | ||
572 | + </collectionViewFlowLayout> | ||
573 | + <cells> | ||
574 | + <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="HomeFourCollectionViewCell" id="HjA-UT-tAU" customClass="HomeFourCollectionViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> | ||
575 | + <rect key="frame" x="0.0" y="0.0" width="128" height="200"/> | ||
576 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | ||
577 | + <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> | ||
578 | + <rect key="frame" x="0.0" y="0.0" width="128" height="200"/> | ||
579 | + <autoresizingMask key="autoresizingMask"/> | ||
580 | + <subviews> | ||
581 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="绍兴市元培中学" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Lmi-xn-hpy"> | ||
582 | + <rect key="frame" x="0.0" y="170" width="128" height="30"/> | ||
583 | + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> | ||
584 | + <constraints> | ||
585 | + <constraint firstAttribute="height" constant="30" id="4Og-hL-nhw"/> | ||
586 | + </constraints> | ||
587 | + <fontDescription key="fontDescription" type="system" pointSize="15"/> | ||
588 | + <nil key="textColor"/> | ||
589 | + <nil key="highlightedColor"/> | ||
590 | + </label> | ||
591 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="ZWf-Th-UTw"> | ||
592 | + <rect key="frame" x="0.0" y="0.0" width="128" height="128"/> | ||
593 | + <constraints> | ||
594 | + <constraint firstAttribute="width" secondItem="ZWf-Th-UTw" secondAttribute="height" multiplier="1:1" id="u0O-8v-OqH"/> | ||
595 | + </constraints> | ||
596 | + </imageView> | ||
597 | + </subviews> | ||
598 | + </view> | ||
599 | + <constraints> | ||
600 | + <constraint firstAttribute="trailing" secondItem="ZWf-Th-UTw" secondAttribute="trailing" id="Hkb-Vx-aEZ"/> | ||
601 | + <constraint firstItem="Lmi-xn-hpy" firstAttribute="leading" secondItem="HjA-UT-tAU" secondAttribute="leading" id="SIB-tW-wsl"/> | ||
602 | + <constraint firstItem="ZWf-Th-UTw" firstAttribute="leading" secondItem="HjA-UT-tAU" secondAttribute="leading" id="W3e-IY-PZS"/> | ||
603 | + <constraint firstItem="ZWf-Th-UTw" firstAttribute="top" secondItem="HjA-UT-tAU" secondAttribute="top" id="kEK-a6-3R0"/> | ||
604 | + <constraint firstAttribute="bottom" secondItem="Lmi-xn-hpy" secondAttribute="bottom" id="vu4-bN-2K2"/> | ||
605 | + <constraint firstAttribute="trailing" secondItem="Lmi-xn-hpy" secondAttribute="trailing" id="ySB-Nj-6ER"/> | ||
606 | + </constraints> | ||
607 | + <connections> | ||
608 | + <outlet property="iconImageView" destination="ZWf-Th-UTw" id="yo2-rs-AxI"/> | ||
609 | + <outlet property="nameLabel" destination="Lmi-xn-hpy" id="v02-ZH-Zxo"/> | ||
610 | + </connections> | ||
611 | + </collectionViewCell> | ||
612 | + </cells> | ||
613 | + <connections> | ||
614 | + <outlet property="dataSource" destination="u0l-tM-Sps" id="P4b-A7-06n"/> | ||
615 | + <outlet property="delegate" destination="u0l-tM-Sps" id="egb-LE-ggA"/> | ||
616 | + </connections> | ||
617 | + </collectionView> | ||
618 | + </subviews> | ||
619 | + <constraints> | ||
620 | + <constraint firstItem="NyS-EO-TLP" firstAttribute="top" secondItem="Mv3-YA-1zb" secondAttribute="bottom" constant="8" id="0ke-n8-TrJ"/> | ||
621 | + <constraint firstItem="TE2-1P-sZs" firstAttribute="top" secondItem="Mv3-YA-1zb" secondAttribute="bottom" constant="8" id="1KX-Aj-m0i"/> | ||
622 | + <constraint firstAttribute="trailing" secondItem="cYp-Zl-nJm" secondAttribute="trailing" constant="8" id="5NS-hQ-HDr"/> | ||
623 | + <constraint firstItem="Mv3-YA-1zb" firstAttribute="top" secondItem="pAP-UQ-eh8" secondAttribute="top" id="ARU-SJ-pTz"/> | ||
624 | + <constraint firstAttribute="trailing" secondItem="Mv3-YA-1zb" secondAttribute="trailing" id="I4t-Lc-D4H"/> | ||
625 | + <constraint firstAttribute="bottom" secondItem="cYp-Zl-nJm" secondAttribute="bottom" id="JIt-5J-1vX"/> | ||
626 | + <constraint firstItem="UbK-Rj-Fs5" firstAttribute="top" secondItem="Mv3-YA-1zb" secondAttribute="bottom" constant="13" id="LSN-Sj-8zr"/> | ||
627 | + <constraint firstAttribute="trailing" secondItem="TE2-1P-sZs" secondAttribute="trailing" constant="8" id="QlU-44-FxY"/> | ||
628 | + <constraint firstItem="cYp-Zl-nJm" firstAttribute="top" secondItem="TE2-1P-sZs" secondAttribute="bottom" constant="25" id="VVE-0S-GvV"/> | ||
629 | + <constraint firstItem="cYp-Zl-nJm" firstAttribute="leading" secondItem="pAP-UQ-eh8" secondAttribute="leading" constant="8" id="aI8-UO-9NX"/> | ||
630 | + <constraint firstItem="Mv3-YA-1zb" firstAttribute="leading" secondItem="pAP-UQ-eh8" secondAttribute="leading" id="cWh-v4-slW"/> | ||
631 | + <constraint firstItem="NyS-EO-TLP" firstAttribute="leading" secondItem="pAP-UQ-eh8" secondAttribute="leading" constant="8" id="hQw-PE-ApU"/> | ||
632 | + <constraint firstItem="UbK-Rj-Fs5" firstAttribute="leading" secondItem="NyS-EO-TLP" secondAttribute="trailing" constant="8" id="vTs-ac-et0"/> | ||
633 | + </constraints> | ||
634 | + </tableViewCellContentView> | ||
635 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | ||
636 | + </tableViewCell> | ||
637 | + </cells> | ||
638 | + </tableViewSection> | ||
639 | + </sections> | ||
640 | + <connections> | ||
641 | + <outlet property="dataSource" destination="HdB-6p-eAX" id="9pC-lS-mN2"/> | ||
642 | + <outlet property="delegate" destination="HdB-6p-eAX" id="k2q-uw-6l0"/> | ||
643 | + </connections> | ||
644 | + </tableView> | ||
645 | + <navigationItem key="navigationItem" id="u6G-VK-Ob0"> | ||
646 | + <barButtonItem key="rightBarButtonItem" systemItem="search" id="Wrt-Tt-zFU"> | ||
647 | + <connections> | ||
648 | + <action selector="rightBarButtonAction:" destination="HdB-6p-eAX" id="FCr-SK-pbu"/> | ||
649 | + </connections> | ||
650 | + </barButtonItem> | ||
651 | + </navigationItem> | ||
652 | + <connections> | ||
653 | + <outlet property="tableHeaderView" destination="w64-sF-NZ9" id="GF0-Uu-8HD"/> | ||
654 | + </connections> | ||
655 | + </tableViewController> | ||
656 | + <placeholder placeholderIdentifier="IBFirstResponder" id="2sP-jw-GGF" userLabel="First Responder" sceneMemberID="firstResponder"/> | ||
657 | + </objects> | ||
658 | + <point key="canvasLocation" x="-1839.2" y="2112.5937031484259"/> | ||
659 | + </scene> | ||
109 | <!--New Login View Controller--> | 660 | <!--New Login View Controller--> |
110 | <scene sceneID="6BI-o5-Qja"> | 661 | <scene sceneID="6BI-o5-Qja"> |
111 | <objects> | 662 | <objects> |
@@ -122,7 +673,7 @@ | @@ -122,7 +673,7 @@ | ||
122 | </viewController> | 673 | </viewController> |
123 | <placeholder placeholderIdentifier="IBFirstResponder" id="7Vp-aM-FMN" userLabel="First Responder" sceneMemberID="firstResponder"/> | 674 | <placeholder placeholderIdentifier="IBFirstResponder" id="7Vp-aM-FMN" userLabel="First Responder" sceneMemberID="firstResponder"/> |
124 | </objects> | 675 | </objects> |
125 | - <point key="canvasLocation" x="-1844" y="2795"/> | 676 | + <point key="canvasLocation" x="-904.79999999999995" y="2794.4527736131936"/> |
126 | </scene> | 677 | </scene> |
127 | <!--用户--> | 678 | <!--用户--> |
128 | <scene sceneID="8Ie-AH-DJ4"> | 679 | <scene sceneID="8Ie-AH-DJ4"> |
@@ -146,6 +697,12 @@ | @@ -146,6 +697,12 @@ | ||
146 | <!--用户--> | 697 | <!--用户--> |
147 | <scene sceneID="LVY-SG-ceP"> | 698 | <scene sceneID="LVY-SG-ceP"> |
148 | <objects> | 699 | <objects> |
700 | + <tapGestureRecognizer id="crA-lr-1r9"> | ||
701 | + <connections> | ||
702 | + <action selector="photoImageTapAction:" destination="Xoa-Fo-2KW" id="bF5-5i-BIt"/> | ||
703 | + </connections> | ||
704 | + </tapGestureRecognizer> | ||
705 | + <placeholder placeholderIdentifier="IBFirstResponder" id="F06-ml-zgU" sceneMemberID="firstResponder"/> | ||
149 | <viewController id="Xoa-Fo-2KW" customClass="MyViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController"> | 706 | <viewController id="Xoa-Fo-2KW" customClass="MyViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController"> |
150 | <layoutGuides> | 707 | <layoutGuides> |
151 | <viewControllerLayoutGuide type="top" id="aLD-cx-0Aw"/> | 708 | <viewControllerLayoutGuide type="top" id="aLD-cx-0Aw"/> |
@@ -345,12 +902,6 @@ | @@ -345,12 +902,6 @@ | ||
345 | <outlet property="userView" destination="rEx-Nd-HXY" id="VMZ-Pf-hh9"/> | 902 | <outlet property="userView" destination="rEx-Nd-HXY" id="VMZ-Pf-hh9"/> |
346 | </connections> | 903 | </connections> |
347 | </viewController> | 904 | </viewController> |
348 | - <placeholder placeholderIdentifier="IBFirstResponder" id="F06-ml-zgU" sceneMemberID="firstResponder"/> | ||
349 | - <tapGestureRecognizer id="crA-lr-1r9"> | ||
350 | - <connections> | ||
351 | - <action selector="photoImageTapAction:" destination="Xoa-Fo-2KW" id="bF5-5i-BIt"/> | ||
352 | - </connections> | ||
353 | - </tapGestureRecognizer> | ||
354 | </objects> | 905 | </objects> |
355 | <point key="canvasLocation" x="362" y="-179"/> | 906 | <point key="canvasLocation" x="362" y="-179"/> |
356 | </scene> | 907 | </scene> |
@@ -370,49 +921,7 @@ | @@ -370,49 +921,7 @@ | ||
370 | </viewController> | 921 | </viewController> |
371 | <placeholder placeholderIdentifier="IBFirstResponder" id="gJk-RE-f98" userLabel="First Responder" sceneMemberID="firstResponder"/> | 922 | <placeholder placeholderIdentifier="IBFirstResponder" id="gJk-RE-f98" userLabel="First Responder" sceneMemberID="firstResponder"/> |
372 | </objects> | 923 | </objects> |
373 | - <point key="canvasLocation" x="-2635" y="1787"/> | ||
374 | - </scene> | ||
375 | - <!--首页--> | ||
376 | - <scene sceneID="aRE-yu-eWF"> | ||
377 | - <objects> | ||
378 | - <viewController title="首页" id="1Jl-hM-Iqa" customClass="HomePageViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController"> | ||
379 | - <layoutGuides> | ||
380 | - <viewControllerLayoutGuide type="top" id="wfh-tO-9fU"/> | ||
381 | - <viewControllerLayoutGuide type="bottom" id="FOv-Or-1ph"/> | ||
382 | - </layoutGuides> | ||
383 | - <view key="view" contentMode="scaleToFill" id="2QR-eN-M4v"> | ||
384 | - <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | ||
385 | - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | ||
386 | - <subviews> | ||
387 | - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FSI-1e-Z3T" customClass="JYScrollView"> | ||
388 | - <rect key="frame" x="0.0" y="64" width="375" height="211"/> | ||
389 | - <color key="backgroundColor" red="1" green="0.49803921569999998" blue="0.0" alpha="1" colorSpace="calibratedRGB"/> | ||
390 | - <constraints> | ||
391 | - <constraint firstAttribute="width" secondItem="FSI-1e-Z3T" secondAttribute="height" multiplier="16:9" id="U44-KW-O9e"/> | ||
392 | - </constraints> | ||
393 | - </view> | ||
394 | - </subviews> | ||
395 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | ||
396 | - <constraints> | ||
397 | - <constraint firstItem="FSI-1e-Z3T" firstAttribute="top" secondItem="wfh-tO-9fU" secondAttribute="bottom" id="5D2-o8-R3S"/> | ||
398 | - <constraint firstAttribute="trailing" secondItem="FSI-1e-Z3T" secondAttribute="trailing" id="AYI-Qj-Hxg"/> | ||
399 | - <constraint firstItem="FSI-1e-Z3T" firstAttribute="leading" secondItem="2QR-eN-M4v" secondAttribute="leading" id="wBm-Qb-5ZL"/> | ||
400 | - </constraints> | ||
401 | - </view> | ||
402 | - <navigationItem key="navigationItem" id="oQz-in-YkH"> | ||
403 | - <barButtonItem key="rightBarButtonItem" systemItem="search" id="Wrt-Tt-zFU"> | ||
404 | - <connections> | ||
405 | - <action selector="rightBarButtonAction:" destination="1Jl-hM-Iqa" id="Vmx-da-V42"/> | ||
406 | - </connections> | ||
407 | - </barButtonItem> | ||
408 | - </navigationItem> | ||
409 | - <connections> | ||
410 | - <outlet property="jsScrollView" destination="FSI-1e-Z3T" id="HgY-QR-azl"/> | ||
411 | - </connections> | ||
412 | - </viewController> | ||
413 | - <placeholder placeholderIdentifier="IBFirstResponder" id="Gcl-lo-apd" userLabel="First Responder" sceneMemberID="firstResponder"/> | ||
414 | - </objects> | ||
415 | - <point key="canvasLocation" x="-1844" y="2112.5937031484259"/> | 924 | + <point key="canvasLocation" x="-2942" y="1740"/> |
416 | </scene> | 925 | </scene> |
417 | <!--教育视频云--> | 926 | <!--教育视频云--> |
418 | <scene sceneID="HjP-gB-wYC"> | 927 | <scene sceneID="HjP-gB-wYC"> |
@@ -429,7 +938,7 @@ | @@ -429,7 +938,7 @@ | ||
429 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 938 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
430 | </tabBar> | 939 | </tabBar> |
431 | <connections> | 940 | <connections> |
432 | - <segue destination="Gul-vC-TEH" kind="relationship" relationship="viewControllers" id="c5Z-2d-zte"/> | 941 | + <segue destination="ZF0-NB-klP" kind="relationship" relationship="viewControllers" id="Z42-TE-CiO"/> |
433 | <segue destination="oPL-zE-5ud" kind="relationship" relationship="viewControllers" id="gJl-yM-BDL"/> | 942 | <segue destination="oPL-zE-5ud" kind="relationship" relationship="viewControllers" id="gJl-yM-BDL"/> |
434 | <segue destination="B6F-S8-zbX" kind="relationship" relationship="viewControllers" id="7pq-lc-eDm"/> | 943 | <segue destination="B6F-S8-zbX" kind="relationship" relationship="viewControllers" id="7pq-lc-eDm"/> |
435 | <segue destination="eeQ-qi-Oqc" kind="relationship" relationship="viewControllers" id="774-3a-UqO"/> | 944 | <segue destination="eeQ-qi-Oqc" kind="relationship" relationship="viewControllers" id="774-3a-UqO"/> |
@@ -440,30 +949,11 @@ | @@ -440,30 +949,11 @@ | ||
440 | </objects> | 949 | </objects> |
441 | <point key="canvasLocation" x="-532" y="555"/> | 950 | <point key="canvasLocation" x="-532" y="555"/> |
442 | </scene> | 951 | </scene> |
443 | - <!--教育视频云--> | ||
444 | - <scene sceneID="Cfq-AH-7TK"> | ||
445 | - <objects> | ||
446 | - <navigationController title="教育视频云" automaticallyAdjustsScrollViewInsets="NO" id="Gul-vC-TEH" sceneMemberID="viewController"> | ||
447 | - <tabBarItem key="tabBarItem" title="首页" id="mg9-ej-iSC"/> | ||
448 | - <toolbarItems/> | ||
449 | - <navigationBar key="navigationBar" contentMode="scaleToFill" id="RZv-Wq-V2A"> | ||
450 | - <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> | ||
451 | - <autoresizingMask key="autoresizingMask"/> | ||
452 | - </navigationBar> | ||
453 | - <nil name="viewControllers"/> | ||
454 | - <connections> | ||
455 | - <segue destination="1Jl-hM-Iqa" kind="relationship" relationship="rootViewController" id="GzR-5e-vjX"/> | ||
456 | - </connections> | ||
457 | - </navigationController> | ||
458 | - <placeholder placeholderIdentifier="IBFirstResponder" id="Uue-gL-Rwf" userLabel="First Responder" sceneMemberID="firstResponder"/> | ||
459 | - </objects> | ||
460 | - <point key="canvasLocation" x="-1844" y="1414.5427286356824"/> | ||
461 | - </scene> | ||
462 | <!--资源--> | 952 | <!--资源--> |
463 | <scene sceneID="Ztv-WN-7iK"> | 953 | <scene sceneID="Ztv-WN-7iK"> |
464 | <objects> | 954 | <objects> |
465 | <navigationController title="资源" automaticallyAdjustsScrollViewInsets="NO" id="oPL-zE-5ud" sceneMemberID="viewController"> | 955 | <navigationController title="资源" automaticallyAdjustsScrollViewInsets="NO" id="oPL-zE-5ud" sceneMemberID="viewController"> |
466 | - <tabBarItem key="tabBarItem" title="资源" id="H9f-Lc-mQs"/> | 956 | + <tabBarItem key="tabBarItem" title="资源" image="首页.png" id="H9f-Lc-mQs"/> |
467 | <toolbarItems/> | 957 | <toolbarItems/> |
468 | <navigationBar key="navigationBar" contentMode="scaleToFill" id="Ca3-cq-bcD"> | 958 | <navigationBar key="navigationBar" contentMode="scaleToFill" id="Ca3-cq-bcD"> |
469 | <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> | 959 | <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> |
@@ -482,7 +972,7 @@ | @@ -482,7 +972,7 @@ | ||
482 | <scene sceneID="cuR-qn-3H2"> | 972 | <scene sceneID="cuR-qn-3H2"> |
483 | <objects> | 973 | <objects> |
484 | <navigationController title="微课" automaticallyAdjustsScrollViewInsets="NO" id="B6F-S8-zbX" sceneMemberID="viewController"> | 974 | <navigationController title="微课" automaticallyAdjustsScrollViewInsets="NO" id="B6F-S8-zbX" sceneMemberID="viewController"> |
485 | - <tabBarItem key="tabBarItem" title="微课" id="6vI-fw-Oos"/> | 975 | + <tabBarItem key="tabBarItem" title="微课" image="首页.png" id="6vI-fw-Oos"/> |
486 | <toolbarItems/> | 976 | <toolbarItems/> |
487 | <navigationBar key="navigationBar" contentMode="scaleToFill" id="gzA-MB-3BR"> | 977 | <navigationBar key="navigationBar" contentMode="scaleToFill" id="gzA-MB-3BR"> |
488 | <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> | 978 | <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> |
@@ -501,7 +991,7 @@ | @@ -501,7 +991,7 @@ | ||
501 | <scene sceneID="zf3-SG-nOb"> | 991 | <scene sceneID="zf3-SG-nOb"> |
502 | <objects> | 992 | <objects> |
503 | <navigationController title="电视台" automaticallyAdjustsScrollViewInsets="NO" id="eeQ-qi-Oqc" sceneMemberID="viewController"> | 993 | <navigationController title="电视台" automaticallyAdjustsScrollViewInsets="NO" id="eeQ-qi-Oqc" sceneMemberID="viewController"> |
504 | - <tabBarItem key="tabBarItem" title="电视台" id="Aq8-EP-9iB"/> | 994 | + <tabBarItem key="tabBarItem" title="电视台" image="首页.png" id="Aq8-EP-9iB"/> |
505 | <toolbarItems/> | 995 | <toolbarItems/> |
506 | <navigationBar key="navigationBar" contentMode="scaleToFill" id="zos-0a-mzB"> | 996 | <navigationBar key="navigationBar" contentMode="scaleToFill" id="zos-0a-mzB"> |
507 | <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> | 997 | <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> |
@@ -520,7 +1010,7 @@ | @@ -520,7 +1010,7 @@ | ||
520 | <scene sceneID="CWh-n7-nxi"> | 1010 | <scene sceneID="CWh-n7-nxi"> |
521 | <objects> | 1011 | <objects> |
522 | <navigationController title="用户" automaticallyAdjustsScrollViewInsets="NO" id="Lq6-19-raF" sceneMemberID="viewController"> | 1012 | <navigationController title="用户" automaticallyAdjustsScrollViewInsets="NO" id="Lq6-19-raF" sceneMemberID="viewController"> |
523 | - <tabBarItem key="tabBarItem" title="用户" id="xsr-8R-tgo"/> | 1013 | + <tabBarItem key="tabBarItem" title="用户" image="首页.png" id="xsr-8R-tgo"/> |
524 | <toolbarItems/> | 1014 | <toolbarItems/> |
525 | <navigationBar key="navigationBar" contentMode="scaleToFill" id="aYo-eQ-QLv"> | 1015 | <navigationBar key="navigationBar" contentMode="scaleToFill" id="aYo-eQ-QLv"> |
526 | <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> | 1016 | <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> |
@@ -643,6 +1133,25 @@ | @@ -643,6 +1133,25 @@ | ||
643 | </objects> | 1133 | </objects> |
644 | <point key="canvasLocation" x="429.60000000000002" y="2112.5937031484259"/> | 1134 | <point key="canvasLocation" x="429.60000000000002" y="2112.5937031484259"/> |
645 | </scene> | 1135 | </scene> |
1136 | + <!--教育视频云--> | ||
1137 | + <scene sceneID="axA-Q8-m9h"> | ||
1138 | + <objects> | ||
1139 | + <navigationController title="教育视频云" automaticallyAdjustsScrollViewInsets="NO" id="ZF0-NB-klP" sceneMemberID="viewController"> | ||
1140 | + <tabBarItem key="tabBarItem" title="首页" image="首页.png" id="JKA-ml-vLX"/> | ||
1141 | + <toolbarItems/> | ||
1142 | + <navigationBar key="navigationBar" contentMode="scaleToFill" id="Xg7-jx-ngw"> | ||
1143 | + <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> | ||
1144 | + <autoresizingMask key="autoresizingMask"/> | ||
1145 | + </navigationBar> | ||
1146 | + <nil name="viewControllers"/> | ||
1147 | + <connections> | ||
1148 | + <segue destination="HdB-6p-eAX" kind="relationship" relationship="rootViewController" id="Yu8-Rr-XQ9"/> | ||
1149 | + </connections> | ||
1150 | + </navigationController> | ||
1151 | + <placeholder placeholderIdentifier="IBFirstResponder" id="pNh-PV-eeK" userLabel="First Responder" sceneMemberID="firstResponder"/> | ||
1152 | + </objects> | ||
1153 | + <point key="canvasLocation" x="-1838" y="1415"/> | ||
1154 | + </scene> | ||
646 | </scenes> | 1155 | </scenes> |
647 | <resources> | 1156 | <resources> |
648 | <image name="arrow" width="33" height="33"/> | 1157 | <image name="arrow" width="33" height="33"/> |
@@ -653,5 +1162,6 @@ | @@ -653,5 +1162,6 @@ | ||
653 | <image name="icon" width="512" height="512"/> | 1162 | <image name="icon" width="512" height="512"/> |
654 | <image name="icon.png" width="80" height="80"/> | 1163 | <image name="icon.png" width="80" height="80"/> |
655 | <image name="视窗.png" width="31" height="31"/> | 1164 | <image name="视窗.png" width="31" height="31"/> |
1165 | + <image name="首页.png" width="31" height="31"/> | ||
656 | </resources> | 1166 | </resources> |
657 | </document> | 1167 | </document> |
YouerLiveVideo/YouerLiveVideo/controllers/HomePage/HomePageViewController.swift
@@ -1,62 +0,0 @@ | @@ -1,62 +0,0 @@ | ||
1 | -// | ||
2 | -// HomePageViewController.swift | ||
3 | -// YouerLiveVideo | ||
4 | -// | ||
5 | -// Created by 左丞 on 2017/5/16. | ||
6 | -// Copyright © 2017年 左丞. All rights reserved. | ||
7 | -// | ||
8 | - | ||
9 | -import UIKit | ||
10 | - | ||
11 | -class HomePageViewController: UIViewController { | ||
12 | - @IBOutlet var jsScrollView: JYScrollView! | ||
13 | - let current=AppDelegate.instance().accountManager | ||
14 | - override func viewDidLoad() { | ||
15 | - super.viewDidLoad() | ||
16 | - settingIconAndTitle() | ||
17 | - settingCarouselView() | ||
18 | - } | ||
19 | - //设置左上角头像及背景色等 | ||
20 | - func settingIconAndTitle(){ | ||
21 | - let photo=UIImageView(frame: CGRect(x: 0, y: 0, width: 35, height: 35)) | ||
22 | - photo.sd_setImage(with: URL(string: current.photo()), placeholderImage: UIImage(named: "defphoto")) | ||
23 | - photo.layer.cornerRadius=5 | ||
24 | - photo.layer.masksToBounds=true | ||
25 | - let leftBarButtonItem=UIBarButtonItem(customView: photo) | ||
26 | - self.navigationItem.leftBarButtonItem=leftBarButtonItem | ||
27 | - self.configTheme() | ||
28 | - self.navigationController?.navigationBar.barStyle=UIBarStyle.black | ||
29 | - } | ||
30 | - //设置轮播图 | ||
31 | - func settingCarouselView(){ | ||
32 | - let jyScrollViews=JYScrollView(frame: CGRect(x: 0, y: 0, width: getScreenWidth(), height: getScreenWidth()/16*9)) | ||
33 | - jyScrollViews.banner(with: ["http://img.pconline.com.cn/images/upload/upc/tx/wallpaper/1212/27/c0/16922592_1356570394404.jpg","http://p9.qhimg.com/t01665b2df63f2dc61b.jpg"], imageType: JYImageType.urlType, placeHolder: "default") { (index) in | ||
34 | - NSLog("点击了轮播图click NO\(index)") | ||
35 | - } | ||
36 | - jyScrollViews.timeInterval=2 | ||
37 | - self.view.addSubview(jyScrollViews) | ||
38 | - } | ||
39 | - //右上角搜索按钮点击方法 | ||
40 | - @IBAction func rightBarButtonAction(_ sender: UIBarButtonItem) { | ||
41 | - | ||
42 | - } | ||
43 | - override var preferredStatusBarStyle: UIStatusBarStyle{ | ||
44 | - return UIStatusBarStyle.lightContent | ||
45 | - } | ||
46 | - override func didReceiveMemoryWarning() { | ||
47 | - super.didReceiveMemoryWarning() | ||
48 | - // Dispose of any resources that can be recreated. | ||
49 | - } | ||
50 | - | ||
51 | - | ||
52 | - /* | ||
53 | - // MARK: - Navigation | ||
54 | - | ||
55 | - // In a storyboard-based application, you will often want to do a little preparation before navigation | ||
56 | - override func prepare(for segue: UIStoryboardSegue, sender: Any?) { | ||
57 | - // Get the new view controller using segue.destinationViewController. | ||
58 | - // Pass the selected object to the new view controller. | ||
59 | - } | ||
60 | - */ | ||
61 | - | ||
62 | -} |
YouerLiveVideo/YouerLiveVideo/controllers/HomePage/MainHomeTableViewController.swift
0 → 100644
@@ -0,0 +1,405 @@ | @@ -0,0 +1,405 @@ | ||
1 | +// | ||
2 | +// MainHomeTableViewController.swift | ||
3 | +// YouerLiveVideo | ||
4 | +// | ||
5 | +// Created by 葛建军 on 17/5/19. | ||
6 | +// Copyright © 2017年 左丞. All rights reserved. | ||
7 | +// | ||
8 | + | ||
9 | +import UIKit | ||
10 | + | ||
11 | +class MainHomeTableViewController: UITableViewController { | ||
12 | + @IBOutlet var tableHeaderView: UIView! | ||
13 | + let current=AppDelegate.instance().accountManager | ||
14 | + override func viewDidLoad() { | ||
15 | + super.viewDidLoad() | ||
16 | + tableHeaderView.frame.size.height=getScreenWidth()/12*5 | ||
17 | + settingIconAndTitle() | ||
18 | + settingCarouselView() | ||
19 | + } | ||
20 | + //设置左上角头像及背景色等 | ||
21 | + func settingIconAndTitle(){ | ||
22 | + let photo=UIImageView(frame: CGRect(x: 0, y: 0, width: 35, height: 35)) | ||
23 | + photo.sd_setImage(with: URL(string: current.photo()), placeholderImage: UIImage(named: "defphoto")) | ||
24 | + photo.layer.cornerRadius=5 | ||
25 | + photo.layer.masksToBounds=true | ||
26 | + let leftBarButtonItem=UIBarButtonItem(customView: photo) | ||
27 | + self.navigationItem.leftBarButtonItem=leftBarButtonItem | ||
28 | + self.configTheme() | ||
29 | + self.navigationController?.navigationBar.barStyle=UIBarStyle.black | ||
30 | + } | ||
31 | + //设置轮播图 | ||
32 | + func settingCarouselView(){ | ||
33 | + AppDelegate.instance().httpServer.getLunboList(parameters: ["type": 0 as AnyObject]) { (str, error) in | ||
34 | + if error==nil { | ||
35 | + if JSON.fromString(jsonString: str)!["status"].intValue == 1{ | ||
36 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | ||
37 | + var lineAry:[String]=[] | ||
38 | + var lineModelAry:[InLineModel]=[] | ||
39 | + for item in JSON.fromString(jsonString: str)!["data"].arrayValue { | ||
40 | + lineModelAry.append(InLineModel(j: item)) | ||
41 | + lineAry.append(item["f_Img"].stringValue) | ||
42 | + } | ||
43 | + if lineModelAry.count>0{ | ||
44 | + let jyScrollViews=JYScrollView(frame: CGRect(x: 0, y: 0, width: getScreenWidth(), height: getScreenWidth()/12*5)) | ||
45 | + jyScrollViews.banner(with: lineAry, imageType: JYImageType.urlType, placeHolder: "default") { (index) in | ||
46 | + | ||
47 | + NSLog("点击了轮播图 图片ID:\(lineModelAry[index].f_Id)") | ||
48 | + } | ||
49 | + jyScrollViews.timeInterval=2 | ||
50 | + self.tableHeaderView.addSubview(jyScrollViews) | ||
51 | + } | ||
52 | + }, failHandler: { (error) in | ||
53 | + self.view.makeToast("获取轮播图失败:\(error.localizedDescription)") | ||
54 | + }) | ||
55 | + }else{ | ||
56 | + self.view.makeToast("获取轮播图失败:\(JSON.fromString(jsonString: str)!["message"].stringValue)") | ||
57 | + } | ||
58 | + }else{ | ||
59 | + self.view.makeToast("获取轮播图失败:\(error!.description)") | ||
60 | + } | ||
61 | + } | ||
62 | + } | ||
63 | + //右上角搜索按钮点击方法 | ||
64 | + @IBAction func rightBarButtonAction(_ sender: UIBarButtonItem) { | ||
65 | + | ||
66 | + } | ||
67 | + | ||
68 | + | ||
69 | + override func didReceiveMemoryWarning() { | ||
70 | + super.didReceiveMemoryWarning() | ||
71 | + } | ||
72 | + | ||
73 | + // MARK: - Table view data source | ||
74 | + | ||
75 | + override func numberOfSections(in tableView: UITableView) -> Int { | ||
76 | + return 1 | ||
77 | + } | ||
78 | + | ||
79 | + override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | ||
80 | + return 4 | ||
81 | + } | ||
82 | + override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | ||
83 | + if indexPath.row==0 || indexPath.row==1{ | ||
84 | + return (getScreenWidth()-16)/2+86 | ||
85 | + }else if indexPath.row==2{ | ||
86 | + return (getScreenWidth()-16)/3+103+86 | ||
87 | + }else{ | ||
88 | + return (getScreenWidth()-30)/3+30+86 | ||
89 | + } | ||
90 | + } | ||
91 | + override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { | ||
92 | + return tableHeaderView | ||
93 | + } | ||
94 | + | ||
95 | + /* | ||
96 | + override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | ||
97 | + if indexPath.row==0{ | ||
98 | + let cell = tableView.dequeueReusableCell(withIdentifier: "cell0", for: indexPath) as! HomeFirstTableViewCell | ||
99 | + return cell | ||
100 | + }else if indexPath.row==1{ | ||
101 | + let cell = tableView.dequeueReusableCell(withIdentifier: "cell1", for: indexPath) | ||
102 | + return cell | ||
103 | + }else if indexPath.row==2{ | ||
104 | + let cell = tableView.dequeueReusableCell(withIdentifier: "cell2", for: indexPath) | ||
105 | + return cell | ||
106 | + }else{ | ||
107 | + let cell = tableView.dequeueReusableCell(withIdentifier: "cell3", for: indexPath) | ||
108 | + return cell | ||
109 | + } | ||
110 | + } | ||
111 | + */ | ||
112 | + override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | ||
113 | + NSLog("点击了第\(indexPath.row)个cell") | ||
114 | + } | ||
115 | + | ||
116 | + | ||
117 | +} | ||
118 | +class InLineModel: NSObject { | ||
119 | + var f_Id:String="" //标识字段,Guid标识 , | ||
120 | + var f_DeleteMark:Bool=false //删除标识,1-已删除 | ||
121 | + var f_CreatorTime:String="" //创建时间 | ||
122 | + var f_CreatorUserId:String="" //创建人员ID | ||
123 | + var f_LastModifyTime:String="" //最近一次编辑时间 | ||
124 | + var f_LastModifyUserId:String=""//最近一次编辑人员 | ||
125 | + var f_DeleteTime:String="" //删除时间 | ||
126 | + var f_DeleteUserId:String="" //删除人员 | ||
127 | + var f_Img:String="" //轮播图片 | ||
128 | + var f_Type:Int=0 //轮播图位置 0-视频云前端轮播图 1-校园电视台轮播图 | ||
129 | + init(j:JSON) { | ||
130 | + f_Id=j["f_Id"].stringValue | ||
131 | + f_DeleteMark=j["f_DeleteMark"].boolValue | ||
132 | + f_CreatorTime=j["f_CreatorTime"].stringValue | ||
133 | + f_CreatorUserId=j["f_CreatorUserId"].stringValue | ||
134 | + f_LastModifyTime=j["f_LastModifyTime"].stringValue | ||
135 | + f_LastModifyUserId=j["f_LastModifyUserId"].stringValue | ||
136 | + f_DeleteTime=j["f_DeleteTime"].stringValue | ||
137 | + f_DeleteUserId=j["f_DeleteUserId"].stringValue | ||
138 | + f_Img=j["f_Img"].stringValue | ||
139 | + f_Type=j["f_Type"].intValue | ||
140 | + } | ||
141 | +} | ||
142 | +class HomeFirstTableViewCell: UITableViewCell,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout,UICollectionViewDataSource { | ||
143 | + func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { | ||
144 | + if indexPath.row==0{ | ||
145 | + //点击进入学校 appRootViewController() | ||
146 | + }else{ | ||
147 | + //点击进入教师 | ||
148 | + } | ||
149 | + } | ||
150 | + func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { | ||
151 | + return CGSize(width: (getScreenWidth()-16)/2, height: (getScreenWidth()-16)/2) | ||
152 | + } | ||
153 | + | ||
154 | + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { | ||
155 | + return 2 | ||
156 | + } | ||
157 | + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { | ||
158 | + let cell=collectionView.dequeueReusableCell(withReuseIdentifier: "HomeFirstCollectionViewCell", for: indexPath) as! HomeFirstCollectionViewCell | ||
159 | + if indexPath.row==0{ | ||
160 | + cell.nameLabel.text="学校" | ||
161 | + }else{ | ||
162 | + cell.nameLabel.text="教师" | ||
163 | + } | ||
164 | + return cell | ||
165 | + } | ||
166 | +} | ||
167 | +class HomeFirstCollectionViewCell: UICollectionViewCell { | ||
168 | + @IBOutlet var nameLabel: UILabel! | ||
169 | + @IBOutlet var iconImageView: UIImageView! | ||
170 | +} | ||
171 | +class HomeSecondTableViewCell: UITableViewCell,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout,UICollectionViewDataSource { | ||
172 | + var dataSet:[MicroCourseModel]=[] | ||
173 | + override func awakeFromNib() { | ||
174 | + super.awakeFromNib() | ||
175 | + getHotCourseList() | ||
176 | + } | ||
177 | + //获取热门微课前两门 | ||
178 | + func getHotCourseList(){ | ||
179 | + let parameters:Dictionary<String,AnyObject>=["type":0 as AnyObject,"pageIndex":0 as AnyObject,"pageSize":2 as AnyObject] | ||
180 | + AppDelegate.instance().httpServer.getHotRescourse(parameters: parameters) { (str, error) in | ||
181 | + if error==nil { | ||
182 | + if JSON.fromString(jsonString: str)!["status"].intValue == 1{ | ||
183 | + self.dataSet.removeAll() | ||
184 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | ||
185 | + for item in JSON.fromString(jsonString: str)!["data"].arrayValue { | ||
186 | + self.dataSet.append(MicroCourseModel(j: item)) | ||
187 | + } | ||
188 | + (self.viewWithTag(1) as! UICollectionView).reloadData() | ||
189 | + }, failHandler: { (error) in | ||
190 | + appRootViewController().view.makeToast("获取热门微课失败:\(error.localizedDescription)") | ||
191 | + }) | ||
192 | + }else{ | ||
193 | + appRootViewController().view.makeToast("获取热门微课失败:\(JSON.fromString(jsonString: str)!["message"].stringValue)") | ||
194 | + } | ||
195 | + }else{ | ||
196 | + appRootViewController().view.makeToast("获取热门微课失败:\(error!.description)") | ||
197 | + } | ||
198 | + } | ||
199 | + } | ||
200 | + func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { | ||
201 | + //点击进入学校 appRootViewController() | ||
202 | + NSLog("点击了****\(dataSet[indexPath.row])") | ||
203 | + } | ||
204 | + func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { | ||
205 | + return CGSize(width: (getScreenWidth()-16)/2, height: (getScreenWidth()-16)/2) | ||
206 | + } | ||
207 | + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { | ||
208 | + return dataSet.count | ||
209 | + } | ||
210 | + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { | ||
211 | + let cell=collectionView.dequeueReusableCell(withReuseIdentifier: "HomeSecondCollectionViewCell", for: indexPath) as! HomeSecondCollectionViewCell | ||
212 | + cell.setUpWithItem(item: dataSet[indexPath.row]) | ||
213 | + return cell | ||
214 | + } | ||
215 | +} | ||
216 | +//MARK: - 排行model | ||
217 | +class MicroCourseModel:NSObject { | ||
218 | + var f_Id:String="" //标识字段,Guid标识 , | ||
219 | + var f_DeleteMark:Bool=false //删除标识,1-已删除 | ||
220 | + var f_CreatorTime:String="" //创建时间 | ||
221 | + var f_CreatorUserId:String="" //创建人员ID | ||
222 | + var f_LastModifyTime:String="" //最近一次编辑时间 | ||
223 | + var f_LastModifyUserId:String=""//最近一次编辑人员 | ||
224 | + var f_DeleteTime:String="" //删除时间 | ||
225 | + var f_DeleteUserId:String="" //删除人员 | ||
226 | + var f_Img:String="" //轮播图片 | ||
227 | + var f_Title:String="" //课件名称 | ||
228 | + var f_CreatorName:String="" //上传人员昵称 | ||
229 | + var f_Pv:Int=0 //浏览量 | ||
230 | + var f_DownloadSum:Int=0 //下载量 | ||
231 | + var f_LoveSum:Int=0 //点赞量 | ||
232 | + var f_Price:Int=0 //价格 | ||
233 | + var f_WaveId:String="" //所属教材ID | ||
234 | + var f_ChapterId:String="" //所属章节 | ||
235 | + var f_TopicId:String="" //所属知识点 | ||
236 | + var f_TestId:String="" //所属考点 | ||
237 | + var f_SchoolId:String="" //上传老师的学校ID | ||
238 | + var f_IsExamine:Int=0 //审核状态:0-未审核,1-审核通过,2-审核不通过 | ||
239 | + var f_ExamineUserId:String="" //审核人ID | ||
240 | + var f_ExamineName:String="" //审核人姓名 | ||
241 | + var f_ExamineDatetime:String="" //审核日期 | ||
242 | + var f_ResourceType:Int=0 //资源类型 0-微课 1-资源 2-电视台 | ||
243 | + var f_ResourceUrl:String="" //资源地址 | ||
244 | + var f_IsOpen:Bool=false //是否公开 | ||
245 | + var f_Detail:String="" //资源简介 | ||
246 | + var f_TelevisionId:String="" //电视台目录 | ||
247 | + init(j:JSON) { | ||
248 | + f_Id=j["f_Id"].stringValue | ||
249 | + f_DeleteMark=j["f_DeleteMark"].boolValue | ||
250 | + f_CreatorTime=j["f_CreatorTime"].stringValue | ||
251 | + f_CreatorUserId=j["f_CreatorUserId"].stringValue | ||
252 | + f_LastModifyTime=j["f_LastModifyTime"].stringValue | ||
253 | + f_LastModifyUserId=j["f_LastModifyUserId"].stringValue | ||
254 | + f_DeleteTime=j["f_DeleteTime"].stringValue | ||
255 | + f_DeleteUserId=j["f_DeleteUserId"].stringValue | ||
256 | + f_Img=j["f_Img"].stringValue | ||
257 | + f_Title=j["f_Title"].stringValue | ||
258 | + f_CreatorName=j["f_CreatorName"].stringValue | ||
259 | + f_Pv=j["f_Pv"].intValue | ||
260 | + f_DownloadSum=j["f_DownloadSum"].intValue | ||
261 | + f_LoveSum=j["f_LoveSum"].intValue | ||
262 | + f_Price=j["f_Price"].intValue | ||
263 | + f_WaveId=j["f_WaveId"].stringValue | ||
264 | + f_ChapterId=j["f_ChapterId"].stringValue | ||
265 | + f_TopicId=j["f_TopicId"].stringValue | ||
266 | + f_TestId=j["f_TestId"].stringValue | ||
267 | + f_SchoolId=j["f_SchoolId"].stringValue | ||
268 | + f_IsExamine=j["f_IsExamine"].intValue | ||
269 | + f_ExamineUserId=j["f_ExamineUserId"].stringValue | ||
270 | + f_ExamineName=j["f_ExamineName"].stringValue | ||
271 | + f_ExamineDatetime=j["f_ExamineDatetime"].stringValue | ||
272 | + f_ResourceType=j["f_ResourceType"].intValue | ||
273 | + f_ResourceUrl=j["f_ResourceUrl"].stringValue | ||
274 | + f_IsOpen=j["f_IsOpen"].boolValue | ||
275 | + f_Detail=j["f_Detail"].stringValue | ||
276 | + f_TelevisionId=j["f_TelevisionId"].stringValue | ||
277 | + } | ||
278 | +} | ||
279 | +class HomeSecondCollectionViewCell: UICollectionViewCell { | ||
280 | + @IBOutlet var iconImageView: UIImageView! | ||
281 | + @IBOutlet var nameLabel: UILabel! | ||
282 | + @IBOutlet var teacherNameLabel: UILabel! | ||
283 | + @IBOutlet var dateLabel: UILabel! | ||
284 | + @IBOutlet var readCountLabel: UILabel! | ||
285 | + func setUpWithItem(item:MicroCourseModel){ | ||
286 | + iconImageView.sd_setImage(with: URL(string: item.f_Img), placeholderImage: UIImage(named: "icon_course_placeholder")) | ||
287 | + nameLabel.text=item.f_Title | ||
288 | + teacherNameLabel.text="主讲师:\(item.f_CreatorName) 老师" | ||
289 | + dateLabel.text=item.f_CreatorTime | ||
290 | + readCountLabel.text="\(item.f_Pv)" | ||
291 | + } | ||
292 | +} | ||
293 | +class HomeThirdTableViewCell: UITableViewCell,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout,UICollectionViewDataSource { | ||
294 | + var dataSet:[MicroCourseModel]=[] | ||
295 | + override func awakeFromNib() { | ||
296 | + super.awakeFromNib() | ||
297 | + getHotCourseList() | ||
298 | + } | ||
299 | + //获取资源前三门 | ||
300 | + func getHotCourseList(){ | ||
301 | + let parameters:Dictionary<String,AnyObject>=["type":1 as AnyObject,"pageIndex":0 as AnyObject,"pageSize":3 as AnyObject] | ||
302 | + AppDelegate.instance().httpServer.getHotRescourse(parameters: parameters) { (str, error) in | ||
303 | + if error==nil { | ||
304 | + if JSON.fromString(jsonString: str)!["status"].intValue == 1{ | ||
305 | + self.dataSet.removeAll() | ||
306 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | ||
307 | + for item in JSON.fromString(jsonString: str)!["data"].arrayValue { | ||
308 | + self.dataSet.append(MicroCourseModel(j: item)) | ||
309 | + } | ||
310 | + (self.viewWithTag(1) as! UICollectionView).reloadData() | ||
311 | + }, failHandler: { (error) in | ||
312 | + appRootViewController().view.makeToast("获取资源失败:\(error.localizedDescription)") | ||
313 | + }) | ||
314 | + }else{ | ||
315 | + appRootViewController().view.makeToast("获取资源失败:\(JSON.fromString(jsonString: str)!["message"].stringValue)") | ||
316 | + } | ||
317 | + }else{ | ||
318 | + appRootViewController().view.makeToast("获取资源失败:\(error!.description)") | ||
319 | + } | ||
320 | + } | ||
321 | + } | ||
322 | + func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { | ||
323 | + //点击进入学校 appRootViewController() | ||
324 | + NSLog("点击了****\(dataSet[indexPath.row])") | ||
325 | + } | ||
326 | + func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { | ||
327 | + return CGSize(width: (getScreenWidth()-16)/3, height: (getScreenWidth()-16)/3+103) | ||
328 | + } | ||
329 | + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { | ||
330 | + return dataSet.count | ||
331 | + } | ||
332 | + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { | ||
333 | + let cell=collectionView.dequeueReusableCell(withReuseIdentifier: "HomeThirdCollectionViewCell", for: indexPath) as! HomeThirdCollectionViewCell | ||
334 | + cell.setUpWithItem(item: dataSet[indexPath.row]) | ||
335 | + return cell | ||
336 | + } | ||
337 | +} | ||
338 | +class HomeThirdCollectionViewCell: UICollectionViewCell { | ||
339 | + @IBOutlet var iconImageView: UIImageView! | ||
340 | + @IBOutlet var nameLabel: UILabel! | ||
341 | + @IBOutlet var teacherNameLabel: UILabel! | ||
342 | + @IBOutlet var dateLabel: UILabel! | ||
343 | + @IBOutlet var readCountLabel: UILabel! | ||
344 | + func setUpWithItem(item:MicroCourseModel){ | ||
345 | + iconImageView.sd_setImage(with: URL(string: item.f_Img), placeholderImage: UIImage(named: "icon_course_placeholder")) | ||
346 | + nameLabel.text=item.f_Title | ||
347 | + teacherNameLabel.text="上传者:\(item.f_CreatorName) 老师" | ||
348 | + dateLabel.text=item.f_CreatorTime | ||
349 | + readCountLabel.text="\(item.f_DownloadSum)" | ||
350 | + } | ||
351 | +} | ||
352 | +class HomeFourTableViewCell: UITableViewCell,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout,UICollectionViewDataSource { | ||
353 | + var dataSet:[MicroCourseModel]=[] | ||
354 | + override func awakeFromNib() { | ||
355 | + super.awakeFromNib() | ||
356 | + getHotCourseList() | ||
357 | + } | ||
358 | + //获取校园电视台前三门 | ||
359 | + func getHotCourseList(){ | ||
360 | + let parameters:Dictionary<String,AnyObject>=["type":2 as AnyObject,"pageIndex":0 as AnyObject,"pageSize":3 as AnyObject] | ||
361 | + AppDelegate.instance().httpServer.getHotRescourse(parameters: parameters) { (str, error) in | ||
362 | + if error==nil { | ||
363 | + if JSON.fromString(jsonString: str)!["status"].intValue == 1{ | ||
364 | + self.dataSet.removeAll() | ||
365 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | ||
366 | + for item in JSON.fromString(jsonString: str)!["data"].arrayValue { | ||
367 | + self.dataSet.append(MicroCourseModel(j: item)) | ||
368 | + } | ||
369 | + (self.viewWithTag(1) as! UICollectionView).reloadData() | ||
370 | + }, failHandler: { (error) in | ||
371 | + appRootViewController().view.makeToast("获取校园电视台失败:\(error.localizedDescription)") | ||
372 | + }) | ||
373 | + }else{ | ||
374 | + appRootViewController().view.makeToast("获取校园电视台失败:\(JSON.fromString(jsonString: str)!["message"].stringValue)") | ||
375 | + } | ||
376 | + }else{ | ||
377 | + appRootViewController().view.makeToast("获取校园电视台失败:\(error!.description)") | ||
378 | + } | ||
379 | + } | ||
380 | + } | ||
381 | + func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { | ||
382 | + //点击进入学校 appRootViewController() | ||
383 | + NSLog("点击了****\(dataSet[indexPath.row])") | ||
384 | + } | ||
385 | + func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { | ||
386 | + return CGSize(width: (getScreenWidth()-32)/3, height: (getScreenWidth()-32)/3+30) | ||
387 | + } | ||
388 | + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { | ||
389 | + return dataSet.count | ||
390 | + } | ||
391 | + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { | ||
392 | + let cell=collectionView.dequeueReusableCell(withReuseIdentifier: "HomeFourCollectionViewCell", for: indexPath) as! HomeFourCollectionViewCell | ||
393 | + cell.setUpWithItem(item: dataSet[indexPath.row]) | ||
394 | + return cell | ||
395 | + } | ||
396 | +} | ||
397 | +class HomeFourCollectionViewCell: UICollectionViewCell { | ||
398 | + @IBOutlet var iconImageView: UIImageView! | ||
399 | + @IBOutlet var nameLabel: UILabel! | ||
400 | + func setUpWithItem(item:MicroCourseModel){ | ||
401 | + iconImageView.sd_setImage(with: URL(string: item.f_Img), placeholderImage: UIImage(named: "icon_course_placeholder")) | ||
402 | + nameLabel.text=item.f_Title | ||
403 | + } | ||
404 | +} | ||
405 | + |
YouerLiveVideo/YouerLiveVideo/controllers/MViewController.swift
@@ -11,7 +11,7 @@ import UIKit | @@ -11,7 +11,7 @@ import UIKit | ||
11 | class MViewController: UITabBarController { | 11 | class MViewController: UITabBarController { |
12 | override class func initialize() { | 12 | override class func initialize() { |
13 | var attrs = [String: NSObject]() | 13 | var attrs = [String: NSObject]() |
14 | - attrs[NSForegroundColorAttributeName] = UIColor(red: 23/255.0, green: 70/255.0, blue: 151/255.0, alpha:1.0) | 14 | + attrs[NSForegroundColorAttributeName] = Theme.topBarColor() |
15 | // 设置tabBar字体颜色 | 15 | // 设置tabBar字体颜色 |
16 | UITabBarItem.appearance().setTitleTextAttributes(attrs, for:.selected) | 16 | UITabBarItem.appearance().setTitleTextAttributes(attrs, for:.selected) |
17 | } | 17 | } |
YouerLiveVideo/YouerLiveVideo/lib/Carousel/JYScrollBanner/JYScrollView.m
@@ -123,7 +123,7 @@ | @@ -123,7 +123,7 @@ | ||
123 | pageControl.hidesForSinglePage = YES; | 123 | pageControl.hidesForSinglePage = YES; |
124 | pageControl.numberOfPages = 1; | 124 | pageControl.numberOfPages = 1; |
125 | pageControl.currentPage = 0; | 125 | pageControl.currentPage = 0; |
126 | - pageControl.pageIndicatorTintColor = [UIColor blackColor]; | 126 | + pageControl.pageIndicatorTintColor = [UIColor lightGrayColor]; |
127 | pageControl.currentPageIndicatorTintColor = [UIColor whiteColor]; | 127 | pageControl.currentPageIndicatorTintColor = [UIColor whiteColor]; |
128 | pageControl.userInteractionEnabled = NO; | 128 | pageControl.userInteractionEnabled = NO; |
129 | [self addSubview:pageControl]; | 129 | [self addSubview:pageControl]; |
YouerLiveVideo/YouerLiveVideo/util/account.swift
@@ -85,11 +85,11 @@ class AccountManager{ | @@ -85,11 +85,11 @@ class AccountManager{ | ||
85 | rawUserInfo=nil | 85 | rawUserInfo=nil |
86 | userid="" | 86 | userid="" |
87 | _=Setting.saveUserInfo("") | 87 | _=Setting.saveUserInfo("") |
88 | - if self.appRootViewController().classForCoder==UINavigationController.classForCoder(){ | ||
89 | - (self.appRootViewController() as! UINavigationController).popToRootViewController(animated: false) | 88 | + if appRootViewController().classForCoder==UINavigationController.classForCoder(){ |
89 | + (appRootViewController() as! UINavigationController).popToRootViewController(animated: false) | ||
90 | }else{ | 90 | }else{ |
91 | - self.appRootViewController().dismiss(animated: false, completion: { | ||
92 | - (self.appRootViewController() as! UINavigationController).popToRootViewController(animated: true) | 91 | + appRootViewController().dismiss(animated: false, completion: { |
92 | + (appRootViewController() as! UINavigationController).popToRootViewController(animated: true) | ||
93 | }) | 93 | }) |
94 | } | 94 | } |
95 | //发出刷新首页通知 | 95 | //发出刷新首页通知 |
@@ -97,14 +97,6 @@ class AccountManager{ | @@ -97,14 +97,6 @@ class AccountManager{ | ||
97 | LeadViewController.instance.removeAll() | 97 | LeadViewController.instance.removeAll() |
98 | LeadViewController.instance.showLogin() | 98 | LeadViewController.instance.showLogin() |
99 | } | 99 | } |
100 | - func appRootViewController()->UIViewController { | ||
101 | - let appRootVC=UIApplication.shared.keyWindow?.rootViewController | ||
102 | - var topVC=appRootVC | ||
103 | - while topVC!.presentedViewController != nil { | ||
104 | - topVC=topVC!.presentedViewController | ||
105 | - } | ||
106 | - return topVC! | ||
107 | - } | ||
108 | func refreshUserInfo(completionHandler:((Bool) -> Void)?){ | 100 | func refreshUserInfo(completionHandler:((Bool) -> Void)?){ |
109 | AppDelegate.instance().httpServer.getCurrentInfo { (str, error) -> Void in | 101 | AppDelegate.instance().httpServer.getCurrentInfo { (str, error) -> Void in |
110 | if error == nil { | 102 | if error == nil { |
YouerLiveVideo/YouerLiveVideo/util/utiles.swift
@@ -110,7 +110,14 @@ class Story{ | @@ -110,7 +110,14 @@ class Story{ | ||
110 | return Story.getStory(sname)?.instantiateViewController(withIdentifier: sid) | 110 | return Story.getStory(sname)?.instantiateViewController(withIdentifier: sid) |
111 | } | 111 | } |
112 | } | 112 | } |
113 | - | 113 | +func appRootViewController()->UIViewController { |
114 | + let appRootVC=UIApplication.shared.keyWindow?.rootViewController | ||
115 | + var topVC=appRootVC | ||
116 | + while topVC!.presentedViewController != nil { | ||
117 | + topVC=topVC!.presentedViewController | ||
118 | + } | ||
119 | + return topVC! | ||
120 | +} | ||
114 | extension AppDelegate{ | 121 | extension AppDelegate{ |
115 | static func instance()->AppDelegate{ | 122 | static func instance()->AppDelegate{ |
116 | 123 |