Commit 0fcdc1f6f14ceb3aa4277f7682ba5d8ec250ee8c
Exists in
newLive
Merge branch 'newLive' of http://git.shunzhi.net/iosgroup/newlive into newLive
# Conflicts: # YouerLiveVideo/YouerLiveVideo/controllers/Resource/ResourceViewController.swift
Showing
19 changed files
with
1542 additions
and
453 deletions
Show diff stats
YouerLiveVideo/YouerLiveVideo.xcodeproj/project.pbxproj
... | ... | @@ -141,6 +141,7 @@ |
141 | 141 | BF6977971E2DEC98006FA934 /* loginBackGround.png in Resources */ = {isa = PBXBuildFile; fileRef = BF6977941E2DEC98006FA934 /* loginBackGround.png */; }; |
142 | 142 | BF6977981E2DEC98006FA934 /* userId.png in Resources */ = {isa = PBXBuildFile; fileRef = BF6977951E2DEC98006FA934 /* userId.png */; }; |
143 | 143 | BF6977991E2DEC98006FA934 /* userPassword.png in Resources */ = {isa = PBXBuildFile; fileRef = BF6977961E2DEC98006FA934 /* userPassword.png */; }; |
144 | + BF7722F31ED283D400226D44 /* FilterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF7722F21ED283D400226D44 /* FilterViewController.swift */; }; | |
144 | 145 | BF7B75961E305A6D0011D5C7 /* MJRefreshAutoFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = BF7B756A1E305A6D0011D5C7 /* MJRefreshAutoFooter.m */; }; |
145 | 146 | BF7B75971E305A6D0011D5C7 /* MJRefreshBackFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = BF7B756C1E305A6D0011D5C7 /* MJRefreshBackFooter.m */; }; |
146 | 147 | BF7B75981E305A6D0011D5C7 /* MJRefreshComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = BF7B756E1E305A6D0011D5C7 /* MJRefreshComponent.m */; }; |
... | ... | @@ -161,6 +162,7 @@ |
161 | 162 | BF7B75A71E305A6D0011D5C7 /* UIScrollView+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = BF7B75911E305A6D0011D5C7 /* UIScrollView+MJExtension.m */; }; |
162 | 163 | BF7B75A81E305A6D0011D5C7 /* UIScrollView+MJRefresh.m in Sources */ = {isa = PBXBuildFile; fileRef = BF7B75931E305A6D0011D5C7 /* UIScrollView+MJRefresh.m */; }; |
163 | 164 | BF7B75A91E305A6D0011D5C7 /* UIView+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = BF7B75951E305A6D0011D5C7 /* UIView+MJExtension.m */; }; |
165 | + BF8E52EE1ECFD16000E472E8 /* RankingTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF8E52ED1ECFD16000E472E8 /* RankingTableViewController.swift */; }; | |
164 | 166 | BFBB83A91ECAE35E008B404B /* LeadViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFBB83A81ECAE35E008B404B /* LeadViewController.swift */; }; |
165 | 167 | BFBB83D11ECBEB4E008B404B /* JYScrollItem.m in Sources */ = {isa = PBXBuildFile; fileRef = BFBB83CC1ECBEB4E008B404B /* JYScrollItem.m */; }; |
166 | 168 | BFBB83D21ECBEB4E008B404B /* JYScrollItemModel.m in Sources */ = {isa = PBXBuildFile; fileRef = BFBB83CE1ECBEB4E008B404B /* JYScrollItemModel.m */; }; |
... | ... | @@ -461,6 +463,7 @@ |
461 | 463 | BF6977941E2DEC98006FA934 /* loginBackGround.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = loginBackGround.png; sourceTree = "<group>"; }; |
462 | 464 | BF6977951E2DEC98006FA934 /* userId.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = userId.png; sourceTree = "<group>"; }; |
463 | 465 | BF6977961E2DEC98006FA934 /* userPassword.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = userPassword.png; sourceTree = "<group>"; }; |
466 | + BF7722F21ED283D400226D44 /* FilterViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilterViewController.swift; sourceTree = "<group>"; }; | |
464 | 467 | BF7B75691E305A6D0011D5C7 /* MJRefreshAutoFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshAutoFooter.h; sourceTree = "<group>"; }; |
465 | 468 | BF7B756A1E305A6D0011D5C7 /* MJRefreshAutoFooter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshAutoFooter.m; sourceTree = "<group>"; }; |
466 | 469 | BF7B756B1E305A6D0011D5C7 /* MJRefreshBackFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshBackFooter.h; sourceTree = "<group>"; }; |
... | ... | @@ -501,6 +504,7 @@ |
501 | 504 | BF7B75931E305A6D0011D5C7 /* UIScrollView+MJRefresh.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIScrollView+MJRefresh.m"; sourceTree = "<group>"; }; |
502 | 505 | BF7B75941E305A6D0011D5C7 /* UIView+MJExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+MJExtension.h"; sourceTree = "<group>"; }; |
503 | 506 | BF7B75951E305A6D0011D5C7 /* UIView+MJExtension.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+MJExtension.m"; sourceTree = "<group>"; }; |
507 | + BF8E52ED1ECFD16000E472E8 /* RankingTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RankingTableViewController.swift; sourceTree = "<group>"; }; | |
504 | 508 | BFBB83A81ECAE35E008B404B /* LeadViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LeadViewController.swift; sourceTree = "<group>"; }; |
505 | 509 | BFBB83CB1ECBEB4E008B404B /* JYScrollItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JYScrollItem.h; sourceTree = "<group>"; }; |
506 | 510 | BFBB83CC1ECBEB4E008B404B /* JYScrollItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JYScrollItem.m; sourceTree = "<group>"; }; |
... | ... | @@ -591,8 +595,8 @@ |
591 | 595 | BFBB83A81ECAE35E008B404B /* LeadViewController.swift */, |
592 | 596 | 5904FC601ECA930D00E631FF /* MViewController.swift */, |
593 | 597 | 5904FC431ECA8B8C00E631FF /* HomePage */, |
594 | - 5904FC441ECA8B8C00E631FF /* MicroCourse */, | |
595 | 598 | 5904FC461ECA8B8C00E631FF /* Resource */, |
599 | + 5904FC441ECA8B8C00E631FF /* MicroCourse */, | |
596 | 600 | 5904FC481ECA8B8C00E631FF /* TVStation */, |
597 | 601 | BFBB83D81ECC445D008B404B /* User */, |
598 | 602 | ); |
... | ... | @@ -603,6 +607,7 @@ |
603 | 607 | isa = PBXGroup; |
604 | 608 | children = ( |
605 | 609 | BF682F1D1ECE8772007632CA /* MainHomeTableViewController.swift */, |
610 | + BF8E52ED1ECFD16000E472E8 /* RankingTableViewController.swift */, | |
606 | 611 | 5904FC541ECA8BCB00E631FF /* HomePage.storyboard */, |
607 | 612 | ); |
608 | 613 | path = HomePage; |
... | ... | @@ -621,6 +626,7 @@ |
621 | 626 | isa = PBXGroup; |
622 | 627 | children = ( |
623 | 628 | 5904FC471ECA8B8C00E631FF /* ResourceViewController.swift */, |
629 | + BF7722F21ED283D400226D44 /* FilterViewController.swift */, | |
624 | 630 | 59AE3DFA1ECECD7D003E2C62 /* LiveInforViewController.swift */, |
625 | 631 | 59AE3DFC1ECED5B1003E2C62 /* MoivePlayerViewController.swift */, |
626 | 632 | 597185B41ECA990C00D7F478 /* Resource.storyboard */, |
... | ... | @@ -1561,7 +1567,9 @@ |
1561 | 1567 | BF7B75A11E305A6D0011D5C7 /* MJRefreshGifHeader.m in Sources */, |
1562 | 1568 | 599B2CE31DE52F7E00B4F7FD /* UMSocialUIManager.m in Sources */, |
1563 | 1569 | BF25DFF91DDAA36A003EC0C1 /* NSImage+WebCache.m in Sources */, |
1570 | + BF8E52EE1ECFD16000E472E8 /* RankingTableViewController.swift in Sources */, | |
1564 | 1571 | 59F8014F1DD2C7AD000A78B0 /* AppDelegate.swift in Sources */, |
1572 | + BF7722F31ED283D400226D44 /* FilterViewController.swift in Sources */, | |
1565 | 1573 | BF25DFED1DDAA36A003EC0C1 /* ResponseSerialization.swift in Sources */, |
1566 | 1574 | BF25E0031DDAA36A003EC0C1 /* UIImage+GIF.m in Sources */, |
1567 | 1575 | BFBB83E91ECC445D008B404B /* RegisterViewController.swift in Sources */, | ... | ... |
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/login_bottom2.imageset/1.png
0 → 100644
24.5 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/login_bottom2.imageset/Contents.json
0 → 100644
... | ... | @@ -0,0 +1,21 @@ |
1 | +{ | |
2 | + "images" : [ | |
3 | + { | |
4 | + "idiom" : "universal", | |
5 | + "scale" : "1x" | |
6 | + }, | |
7 | + { | |
8 | + "idiom" : "universal", | |
9 | + "filename" : "1.png", | |
10 | + "scale" : "2x" | |
11 | + }, | |
12 | + { | |
13 | + "idiom" : "universal", | |
14 | + "scale" : "3x" | |
15 | + } | |
16 | + ], | |
17 | + "info" : { | |
18 | + "version" : 1, | |
19 | + "author" : "xcode" | |
20 | + } | |
21 | +} | |
0 | 22 | \ No newline at end of file | ... | ... |
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 | 3 | <device id="retina4_7" orientation="portrait"> |
4 | 4 | <adaptation id="fullscreen"/> |
5 | 5 | </device> |
... | ... | @@ -11,26 +11,7 @@ |
11 | 11 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
12 | 12 | </dependencies> |
13 | 13 | <scenes> |
14 | - <!--微课--> | |
15 | - <scene sceneID="mq3-Na-12P"> | |
16 | - <objects> | |
17 | - <viewController title="微课" id="QLA-FR-CcL" customClass="MicroCourseViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController"> | |
18 | - <layoutGuides> | |
19 | - <viewControllerLayoutGuide type="top" id="d3O-ta-bda"/> | |
20 | - <viewControllerLayoutGuide type="bottom" id="QdI-Tc-eF8"/> | |
21 | - </layoutGuides> | |
22 | - <view key="view" contentMode="scaleToFill" id="Sx6-eB-DOo"> | |
23 | - <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | |
24 | - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | |
25 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
26 | - </view> | |
27 | - <navigationItem key="navigationItem" id="tzJ-xv-YCb"/> | |
28 | - </viewController> | |
29 | - <placeholder placeholderIdentifier="IBFirstResponder" id="ZVI-J2-A73" userLabel="First Responder" sceneMemberID="firstResponder"/> | |
30 | - </objects> | |
31 | - <point key="canvasLocation" x="-340" y="2113"/> | |
32 | - </scene> | |
33 | - <!--Resource View Controller--> | |
14 | + <!--资源--> | |
34 | 15 | <scene sceneID="NfM-rG-voH"> |
35 | 16 | <objects> |
36 | 17 | <viewController id="xEc-U1-QCp" customClass="ResourceViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController"> |
... | ... | @@ -42,18 +23,65 @@ |
42 | 23 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> |
43 | 24 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
44 | 25 | <subviews> |
26 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="za5-9d-anp"> | |
27 | + <rect key="frame" x="0.0" y="108" width="375" height="50"/> | |
28 | + <subviews> | |
29 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mgQ-3C-amN"> | |
30 | + <rect key="frame" x="8" y="16" width="4" height="18"/> | |
31 | + <fontDescription key="fontDescription" type="system" pointSize="15"/> | |
32 | + <nil key="textColor"/> | |
33 | + <nil key="highlightedColor"/> | |
34 | + </label> | |
35 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fz6-VO-SIi"> | |
36 | + <rect key="frame" x="310" y="10" width="57" height="30"/> | |
37 | + <constraints> | |
38 | + <constraint firstAttribute="height" constant="30" id="NCP-Ag-7c1"/> | |
39 | + </constraints> | |
40 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
41 | + <state key="normal" title="筛选" image="starLive"> | |
42 | + <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | |
43 | + </state> | |
44 | + <connections> | |
45 | + <action selector="jumpFilterVCAction:" destination="xEc-U1-QCp" eventType="touchUpInside" id="dlS-PP-Koh"/> | |
46 | + </connections> | |
47 | + </button> | |
48 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="a7C-jD-YSJ"> | |
49 | + <rect key="frame" x="245" y="14" width="57" height="22"/> | |
50 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
51 | + <state key="normal" title="排序" image="starLive"> | |
52 | + <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | |
53 | + </state> | |
54 | + </button> | |
55 | + </subviews> | |
56 | + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> | |
57 | + <constraints> | |
58 | + <constraint firstItem="fz6-VO-SIi" firstAttribute="leading" secondItem="a7C-jD-YSJ" secondAttribute="trailing" constant="8" id="AqG-KK-VAP"/> | |
59 | + <constraint firstItem="a7C-jD-YSJ" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="mgQ-3C-amN" secondAttribute="trailing" constant="8" id="HcO-bM-kZo"/> | |
60 | + <constraint firstAttribute="trailing" secondItem="fz6-VO-SIi" secondAttribute="trailing" constant="8" id="QzD-Ci-dUo"/> | |
61 | + <constraint firstItem="a7C-jD-YSJ" firstAttribute="centerY" secondItem="za5-9d-anp" secondAttribute="centerY" id="e22-SY-dro"/> | |
62 | + <constraint firstItem="fz6-VO-SIi" firstAttribute="centerY" secondItem="za5-9d-anp" secondAttribute="centerY" id="qBE-uD-fE1"/> | |
63 | + <constraint firstItem="mgQ-3C-amN" firstAttribute="centerY" secondItem="za5-9d-anp" secondAttribute="centerY" id="uMv-pj-P7r"/> | |
64 | + <constraint firstAttribute="height" constant="50" id="xiw-nW-gnr"/> | |
65 | + <constraint firstItem="mgQ-3C-amN" firstAttribute="leading" secondItem="za5-9d-anp" secondAttribute="leading" constant="8" id="yW6-qE-tfE"/> | |
66 | + </constraints> | |
67 | + </view> | |
45 | 68 | <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="143" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="su6-Ve-Mu4"> |
46 | 69 | <rect key="frame" x="0.0" y="158" width="375" height="460"/> |
47 | 70 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
71 | + <view key="tableFooterView" contentMode="scaleToFill" id="KPy-fi-ei0"> | |
72 | + <rect key="frame" x="0.0" y="171" width="375" height="1"/> | |
73 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
74 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
75 | + </view> | |
48 | 76 | <prototypes> |
49 | - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="cell" rowHeight="143" id="tO9-FG-1Ux" customClass="ResourceViewControllerTableViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> | |
77 | + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="identifier" rowHeight="143" id="tO9-FG-1Ux" customClass="ResourceViewControllerTableViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> | |
50 | 78 | <rect key="frame" x="0.0" y="28" width="375" height="143"/> |
51 | 79 | <autoresizingMask key="autoresizingMask"/> |
52 | 80 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="tO9-FG-1Ux" id="73f-qf-61d"> |
53 | 81 | <rect key="frame" x="0.0" y="0.0" width="375" height="142"/> |
54 | 82 | <autoresizingMask key="autoresizingMask"/> |
55 | 83 | <subviews> |
56 | - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="fqH-Ro-Yhh"> | |
84 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="fqH-Ro-Yhh"> | |
57 | 85 | <rect key="frame" x="8" y="26.5" width="90" height="90"/> |
58 | 86 | <constraints> |
59 | 87 | <constraint firstAttribute="width" constant="90" id="1QK-QU-Ukp"/> |
... | ... | @@ -61,7 +89,7 @@ |
61 | 89 | </constraints> |
62 | 90 | </imageView> |
63 | 91 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FNV-Qr-xrm"> |
64 | - <rect key="frame" x="114" y="32" width="42" height="21"/> | |
92 | + <rect key="frame" x="114" y="32" width="165" height="21"/> | |
65 | 93 | <fontDescription key="fontDescription" type="system" pointSize="17"/> |
66 | 94 | <nil key="textColor"/> |
67 | 95 | <nil key="highlightedColor"/> |
... | ... | @@ -80,6 +108,7 @@ |
80 | 108 | </label> |
81 | 109 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="paA-9W-bbM"> |
82 | 110 | <rect key="frame" x="325" y="90" width="42" height="21"/> |
111 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | |
83 | 112 | <fontDescription key="fontDescription" type="system" pointSize="17"/> |
84 | 113 | <nil key="textColor"/> |
85 | 114 | <nil key="highlightedColor"/> |
... | ... | @@ -95,7 +124,7 @@ |
95 | 124 | <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> |
96 | 125 | </state> |
97 | 126 | </button> |
98 | - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="ds9-Gw-nOf"> | |
127 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="ds9-Gw-nOf"> | |
99 | 128 | <rect key="frame" x="297" y="90.5" width="20" height="20"/> |
100 | 129 | <constraints> |
101 | 130 | <constraint firstAttribute="width" secondItem="ds9-Gw-nOf" secondAttribute="height" multiplier="1:1" id="Mto-fo-vVR"/> |
... | ... | @@ -112,6 +141,7 @@ |
112 | 141 | <constraint firstItem="paA-9W-bbM" firstAttribute="centerY" secondItem="WIc-YL-RvX" secondAttribute="centerY" id="Me2-Im-Vc9"/> |
113 | 142 | <constraint firstItem="fqH-Ro-Yhh" firstAttribute="leading" secondItem="73f-qf-61d" secondAttribute="leading" constant="8" id="Zty-O7-8xT"/> |
114 | 143 | <constraint firstItem="IQj-VB-dch" firstAttribute="centerY" secondItem="73f-qf-61d" secondAttribute="centerY" id="emm-la-YJV"/> |
144 | + <constraint firstItem="yx0-8F-VaM" firstAttribute="leading" secondItem="FNV-Qr-xrm" secondAttribute="trailing" constant="8" id="fO3-dB-JFM"/> | |
115 | 145 | <constraint firstItem="paA-9W-bbM" firstAttribute="leading" secondItem="ds9-Gw-nOf" secondAttribute="trailing" constant="8" id="g70-bh-6yw"/> |
116 | 146 | <constraint firstItem="IQj-VB-dch" firstAttribute="leading" secondItem="FNV-Qr-xrm" secondAttribute="leading" id="hRh-iw-dub"/> |
117 | 147 | <constraint firstItem="WIc-YL-RvX" firstAttribute="leading" secondItem="FNV-Qr-xrm" secondAttribute="leading" id="lPb-2C-esz"/> |
... | ... | @@ -120,6 +150,13 @@ |
120 | 150 | <constraint firstAttribute="trailing" secondItem="yx0-8F-VaM" secondAttribute="trailing" constant="8" id="pBd-Lh-bTy"/> |
121 | 151 | </constraints> |
122 | 152 | </tableViewCellContentView> |
153 | + <connections> | |
154 | + <outlet property="downLoadCountLabel" destination="paA-9W-bbM" id="JFm-xb-OgB"/> | |
155 | + <outlet property="iconImageView" destination="fqH-Ro-Yhh" id="LCb-Vi-esw"/> | |
156 | + <outlet property="timeLabel" destination="WIc-YL-RvX" id="Pfe-EP-np8"/> | |
157 | + <outlet property="titleLabel" destination="FNV-Qr-xrm" id="VMp-K4-fsA"/> | |
158 | + <outlet property="updateTeacherLabel" destination="IQj-VB-dch" id="Ivv-yb-r3K"/> | |
159 | + </connections> | |
123 | 160 | </tableViewCell> |
124 | 161 | </prototypes> |
125 | 162 | <connections> |
... | ... | @@ -127,71 +164,81 @@ |
127 | 164 | <outlet property="delegate" destination="xEc-U1-QCp" id="iof-1s-GH1"/> |
128 | 165 | </connections> |
129 | 166 | </tableView> |
130 | - <searchBar contentMode="redraw" placeholder="搜索" translatesAutoresizingMaskIntoConstraints="NO" id="yoD-X2-JQ0"> | |
167 | + <view hidden="YES" alpha="0.29999999999999999" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="egd-vU-DWS"> | |
168 | + <rect key="frame" x="0.0" y="64" width="375" height="554"/> | |
169 | + <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> | |
170 | + <gestureRecognizers/> | |
171 | + <connections> | |
172 | + <outletCollection property="gestureRecognizers" destination="uRc-MA-zeh" appends="YES" id="GEX-ck-vc6"/> | |
173 | + </connections> | |
174 | + </view> | |
175 | + <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="s32-SR-wby"> | |
131 | 176 | <rect key="frame" x="0.0" y="64" width="375" height="44"/> |
132 | - <textInputTraits key="textInputTraits"/> | |
133 | - </searchBar> | |
134 | - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="za5-9d-anp"> | |
135 | - <rect key="frame" x="0.0" y="108" width="375" height="50"/> | |
136 | - <subviews> | |
137 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mgQ-3C-amN"> | |
138 | - <rect key="frame" x="8" y="17" width="4" height="18"/> | |
139 | - <fontDescription key="fontDescription" type="system" pointSize="15"/> | |
140 | - <nil key="textColor"/> | |
141 | - <nil key="highlightedColor"/> | |
142 | - </label> | |
143 | - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fz6-VO-SIi"> | |
144 | - <rect key="frame" x="310" y="10" width="57" height="30"/> | |
145 | - <constraints> | |
146 | - <constraint firstAttribute="height" constant="30" id="NCP-Ag-7c1"/> | |
147 | - </constraints> | |
148 | - <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
149 | - <state key="normal" title="筛选" image="starLive"> | |
150 | - <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | |
151 | - </state> | |
152 | - </button> | |
153 | - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="a7C-jD-YSJ"> | |
154 | - <rect key="frame" x="245" y="14" width="57" height="22"/> | |
155 | - <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
156 | - <state key="normal" title="排序" image="starLive"> | |
157 | - <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | |
158 | - </state> | |
159 | - </button> | |
160 | - </subviews> | |
161 | - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | |
177 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
162 | 178 | <constraints> |
163 | - <constraint firstItem="fz6-VO-SIi" firstAttribute="leading" secondItem="a7C-jD-YSJ" secondAttribute="trailing" constant="8" id="AqG-KK-VAP"/> | |
164 | - <constraint firstItem="a7C-jD-YSJ" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="mgQ-3C-amN" secondAttribute="trailing" constant="8" id="HcO-bM-kZo"/> | |
165 | - <constraint firstAttribute="trailing" secondItem="fz6-VO-SIi" secondAttribute="trailing" constant="8" id="QzD-Ci-dUo"/> | |
166 | - <constraint firstItem="a7C-jD-YSJ" firstAttribute="centerY" secondItem="za5-9d-anp" secondAttribute="centerY" id="e22-SY-dro"/> | |
167 | - <constraint firstItem="fz6-VO-SIi" firstAttribute="centerY" secondItem="za5-9d-anp" secondAttribute="centerY" id="qBE-uD-fE1"/> | |
168 | - <constraint firstItem="mgQ-3C-amN" firstAttribute="centerY" secondItem="za5-9d-anp" secondAttribute="centerY" id="uMv-pj-P7r"/> | |
169 | - <constraint firstAttribute="height" constant="50" id="xiw-nW-gnr"/> | |
170 | - <constraint firstItem="mgQ-3C-amN" firstAttribute="leading" secondItem="za5-9d-anp" secondAttribute="leading" constant="8" id="yW6-qE-tfE"/> | |
179 | + <constraint firstAttribute="height" constant="44" id="PWr-Wf-TcS"/> | |
171 | 180 | </constraints> |
172 | - </view> | |
181 | + <prototypes> | |
182 | + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="cell" id="vmV-r2-2pv"> | |
183 | + <rect key="frame" x="0.0" y="28" width="375" height="44"/> | |
184 | + <autoresizingMask key="autoresizingMask"/> | |
185 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="vmV-r2-2pv" id="tft-RM-f2B"> | |
186 | + <rect key="frame" x="0.0" y="0.0" width="375" height="43"/> | |
187 | + <autoresizingMask key="autoresizingMask"/> | |
188 | + </tableViewCellContentView> | |
189 | + </tableViewCell> | |
190 | + </prototypes> | |
191 | + <connections> | |
192 | + <outlet property="dataSource" destination="xEc-U1-QCp" id="DTr-p1-Mg3"/> | |
193 | + <outlet property="delegate" destination="xEc-U1-QCp" id="i5j-LP-mOw"/> | |
194 | + </connections> | |
195 | + </tableView> | |
173 | 196 | </subviews> |
174 | 197 | <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> |
175 | 198 | <constraints> |
176 | 199 | <constraint firstItem="isx-D9-RKA" firstAttribute="top" secondItem="su6-Ve-Mu4" secondAttribute="bottom" id="0dH-vT-0L7"/> |
177 | - <constraint firstItem="yoD-X2-JQ0" firstAttribute="leading" secondItem="SdC-Ao-cee" secondAttribute="leading" id="2P3-aV-09x"/> | |
178 | - <constraint firstAttribute="trailing" secondItem="yoD-X2-JQ0" secondAttribute="trailing" id="3gn-Jp-76Y"/> | |
179 | 200 | <constraint firstAttribute="trailing" secondItem="su6-Ve-Mu4" secondAttribute="trailing" id="Bce-ui-FBr"/> |
180 | 201 | <constraint firstItem="su6-Ve-Mu4" firstAttribute="top" secondItem="za5-9d-anp" secondAttribute="bottom" id="Cug-lI-DhS"/> |
181 | - <constraint firstItem="za5-9d-anp" firstAttribute="top" secondItem="yoD-X2-JQ0" secondAttribute="bottom" id="Ine-er-3FG"/> | |
202 | + <constraint firstItem="s32-SR-wby" firstAttribute="leading" secondItem="SdC-Ao-cee" secondAttribute="leading" id="Czn-WH-v3b"/> | |
203 | + <constraint firstItem="isx-D9-RKA" firstAttribute="top" secondItem="egd-vU-DWS" secondAttribute="bottom" id="Rn7-2e-h0u"/> | |
204 | + <constraint firstItem="s32-SR-wby" firstAttribute="top" secondItem="vr1-kJ-xH9" secondAttribute="bottom" id="Sf7-iO-6Rj"/> | |
182 | 205 | <constraint firstAttribute="trailing" secondItem="za5-9d-anp" secondAttribute="trailing" id="VI2-tz-hSe"/> |
183 | - <constraint firstItem="yoD-X2-JQ0" firstAttribute="top" secondItem="vr1-kJ-xH9" secondAttribute="bottom" id="XUd-hg-GGA"/> | |
206 | + <constraint firstItem="za5-9d-anp" firstAttribute="top" secondItem="vr1-kJ-xH9" secondAttribute="bottom" constant="44" id="WRE-71-5Hh"/> | |
207 | + <constraint firstAttribute="trailing" secondItem="s32-SR-wby" secondAttribute="trailing" id="ett-Tm-fVp"/> | |
208 | + <constraint firstItem="egd-vU-DWS" firstAttribute="top" secondItem="vr1-kJ-xH9" secondAttribute="bottom" id="gZk-Ki-TPv"/> | |
209 | + <constraint firstItem="egd-vU-DWS" firstAttribute="leading" secondItem="SdC-Ao-cee" secondAttribute="leading" id="ha6-oS-r9u"/> | |
184 | 210 | <constraint firstItem="za5-9d-anp" firstAttribute="leading" secondItem="SdC-Ao-cee" secondAttribute="leading" id="qdI-Q1-1Sk"/> |
211 | + <constraint firstAttribute="trailing" secondItem="egd-vU-DWS" secondAttribute="trailing" id="rOV-OJ-vyb"/> | |
185 | 212 | <constraint firstItem="su6-Ve-Mu4" firstAttribute="leading" secondItem="SdC-Ao-cee" secondAttribute="leading" id="ydL-OO-314"/> |
186 | 213 | </constraints> |
187 | 214 | </view> |
188 | - <navigationItem key="navigationItem" id="fCE-jD-MLQ"/> | |
215 | + <navigationItem key="navigationItem" title="资源" id="q2d-RH-EiL"/> | |
216 | + <connections> | |
217 | + <outlet property="grayView" destination="egd-vU-DWS" id="BJW-OO-Xca"/> | |
218 | + <outlet property="searchDisplayController" destination="k0q-9e-h1a" id="f1i-NC-WU2"/> | |
219 | + <outlet property="searchTableHeight" destination="PWr-Wf-TcS" id="0Yd-RL-DTU"/> | |
220 | + <outlet property="searchTableView" destination="s32-SR-wby" id="vTt-wv-fSR"/> | |
221 | + <outlet property="tableView" destination="su6-Ve-Mu4" id="NV5-ew-AZU"/> | |
222 | + </connections> | |
189 | 223 | </viewController> |
190 | 224 | <placeholder placeholderIdentifier="IBFirstResponder" id="ksp-rg-C8h" userLabel="First Responder" sceneMemberID="firstResponder"/> |
225 | + <searchDisplayController id="k0q-9e-h1a"> | |
226 | + <connections> | |
227 | + <outlet property="delegate" destination="xEc-U1-QCp" id="Jvw-1T-APb"/> | |
228 | + <outlet property="searchContentsController" destination="xEc-U1-QCp" id="h4V-2A-Qlt"/> | |
229 | + <outlet property="searchResultsDataSource" destination="xEc-U1-QCp" id="SkR-0A-41I"/> | |
230 | + <outlet property="searchResultsDelegate" destination="xEc-U1-QCp" id="qPU-va-8W5"/> | |
231 | + </connections> | |
232 | + </searchDisplayController> | |
233 | + <tapGestureRecognizer id="uRc-MA-zeh"> | |
234 | + <connections> | |
235 | + <action selector="cancleSearchActivit:" destination="xEc-U1-QCp" id="UEb-89-R10"/> | |
236 | + </connections> | |
237 | + </tapGestureRecognizer> | |
191 | 238 | </objects> |
192 | 239 | <point key="canvasLocation" x="-1084" y="2112.5937031484259"/> |
193 | 240 | </scene> |
194 | - <!--Main Home Table View Controller--> | |
241 | + <!--教育视频云--> | |
195 | 242 | <scene sceneID="Npa-Do-pvj"> |
196 | 243 | <objects> |
197 | 244 | <tableViewController id="HdB-6p-eAX" customClass="MainHomeTableViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController"> |
... | ... | @@ -205,7 +252,7 @@ |
205 | 252 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
206 | 253 | </view> |
207 | 254 | <view key="tableFooterView" contentMode="scaleToFill" id="1qL-hk-kYn"> |
208 | - <rect key="frame" x="0.0" y="1036" width="375" height="1"/> | |
255 | + <rect key="frame" x="0.0" y="1129" width="375" height="1"/> | |
209 | 256 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> |
210 | 257 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
211 | 258 | </view> |
... | ... | @@ -220,60 +267,68 @@ |
220 | 267 | <autoresizingMask key="autoresizingMask"/> |
221 | 268 | <subviews> |
222 | 269 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7wy-DL-PKX"> |
223 | - <rect key="frame" x="0.0" y="0.0" width="375" height="20"/> | |
270 | + <rect key="frame" x="0.0" y="0.0" width="375" height="15"/> | |
224 | 271 | <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> |
225 | 272 | <constraints> |
226 | - <constraint firstAttribute="height" constant="20" id="mtL-aK-O9I"/> | |
273 | + <constraint firstAttribute="height" constant="15" id="mtL-aK-O9I"/> | |
227 | 274 | </constraints> |
228 | 275 | </view> |
229 | 276 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="tc9-OD-L9x"> |
230 | - <rect key="frame" x="8" y="28" width="30" height="30"/> | |
277 | + <rect key="frame" x="15" y="30" width="20" height="20"/> | |
231 | 278 | <constraints> |
232 | - <constraint firstAttribute="height" constant="30" id="dzU-2e-0A0"/> | |
233 | - <constraint firstAttribute="width" constant="30" id="jeW-Q1-Yqy"/> | |
279 | + <constraint firstAttribute="height" constant="20" id="dzU-2e-0A0"/> | |
280 | + <constraint firstAttribute="width" constant="20" id="jeW-Q1-Yqy"/> | |
234 | 281 | </constraints> |
235 | 282 | </imageView> |
236 | 283 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="gpI-zw-6qq"> |
237 | - <rect key="frame" x="337" y="28" width="30" height="30"/> | |
284 | + <rect key="frame" x="352" y="32.5" width="8" height="15"/> | |
285 | + <color key="backgroundColor" red="0.10980392160000001" green="0.63529411759999999" blue="1" alpha="1" colorSpace="calibratedRGB"/> | |
238 | 286 | <constraints> |
239 | - <constraint firstAttribute="width" constant="30" id="X2b-MK-4bQ"/> | |
240 | - <constraint firstAttribute="height" constant="30" id="ZkK-Yr-R26"/> | |
287 | + <constraint firstAttribute="width" constant="8" id="X2b-MK-4bQ"/> | |
288 | + <constraint firstAttribute="height" constant="15" id="ZkK-Yr-R26"/> | |
241 | 289 | </constraints> |
242 | 290 | </imageView> |
243 | 291 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="排行" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qcg-Fh-r2v"> |
244 | - <rect key="frame" x="46" y="33" width="35" height="21"/> | |
245 | - <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
246 | - <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> | |
292 | + <rect key="frame" x="55" y="30.5" width="31" height="18"/> | |
293 | + <fontDescription key="fontDescription" type="system" pointSize="15"/> | |
294 | + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/> | |
247 | 295 | <nil key="highlightedColor"/> |
248 | 296 | </label> |
249 | 297 | <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="BjK-Gw-VeS"> |
250 | - <rect key="frame" x="8" y="83" width="359" height="129"/> | |
298 | + <rect key="frame" x="15" y="65" width="345" height="132"/> | |
251 | 299 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
252 | 300 | <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="gds-Wd-nlX"> |
253 | - <size key="itemSize" width="106" height="113"/> | |
301 | + <size key="itemSize" width="126" height="133"/> | |
254 | 302 | <size key="headerReferenceSize" width="0.0" height="0.0"/> |
255 | 303 | <size key="footerReferenceSize" width="0.0" height="0.0"/> |
256 | 304 | <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/> |
257 | 305 | </collectionViewFlowLayout> |
258 | 306 | <cells> |
259 | 307 | <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="HomeFirstCollectionViewCell" id="0XL-6V-xV9" customClass="HomeFirstCollectionViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> |
260 | - <rect key="frame" x="0.0" y="0.0" width="106" height="113"/> | |
308 | + <rect key="frame" x="0.0" y="0.0" width="126" height="133"/> | |
261 | 309 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> |
262 | 310 | <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> |
263 | - <rect key="frame" x="0.0" y="0.0" width="106" height="113"/> | |
311 | + <rect key="frame" x="0.0" y="0.0" width="126" height="133"/> | |
264 | 312 | <autoresizingMask key="autoresizingMask"/> |
265 | 313 | <subviews> |
266 | - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="633-X9-DpN"> | |
267 | - <rect key="frame" x="0.0" y="0.0" width="106" height="113"/> | |
314 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="633-X9-DpN"> | |
315 | + <rect key="frame" x="0.0" y="0.0" width="126" height="133"/> | |
316 | + <userDefinedRuntimeAttributes> | |
317 | + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/> | |
318 | + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> | |
319 | + <integer key="value" value="5"/> | |
320 | + </userDefinedRuntimeAttribute> | |
321 | + </userDefinedRuntimeAttributes> | |
268 | 322 | </imageView> |
269 | 323 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="学校" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AAa-2a-bHH"> |
270 | - <rect key="frame" x="8" y="8" width="35" height="21"/> | |
271 | - <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
272 | - <nil key="textColor"/> | |
324 | + <rect key="frame" x="8" y="8" width="31" height="18"/> | |
325 | + <fontDescription key="fontDescription" type="system" pointSize="15"/> | |
326 | + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/> | |
273 | 327 | <nil key="highlightedColor"/> |
274 | 328 | </label> |
275 | 329 | </subviews> |
276 | 330 | </view> |
331 | + <color key="backgroundColor" red="0.10980392160000001" green="0.63529411759999999" blue="1" alpha="1" colorSpace="calibratedRGB"/> | |
277 | 332 | <constraints> |
278 | 333 | <constraint firstItem="633-X9-DpN" firstAttribute="leading" secondItem="0XL-6V-xV9" secondAttribute="leading" id="G57-Qp-dfe"/> |
279 | 334 | <constraint firstItem="AAa-2a-bHH" firstAttribute="top" secondItem="0XL-6V-xV9" secondAttribute="top" constant="8" id="Iul-8f-BwX"/> |
... | ... | @@ -295,75 +350,75 @@ |
295 | 350 | </collectionView> |
296 | 351 | </subviews> |
297 | 352 | <constraints> |
298 | - <constraint firstItem="BjK-Gw-VeS" firstAttribute="top" secondItem="gpI-zw-6qq" secondAttribute="bottom" constant="25" id="28f-X5-SdT"/> | |
299 | - <constraint firstItem="tc9-OD-L9x" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="top" constant="28" id="FmW-tn-Ne9"/> | |
300 | - <constraint firstItem="tc9-OD-L9x" firstAttribute="leading" secondItem="6kt-xb-IdN" secondAttribute="leading" constant="8" id="H9H-ud-58B"/> | |
301 | - <constraint firstAttribute="trailing" secondItem="gpI-zw-6qq" secondAttribute="trailing" constant="8" id="TOV-dd-5uu"/> | |
353 | + <constraint firstItem="tc9-OD-L9x" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="top" constant="30" id="FmW-tn-Ne9"/> | |
354 | + <constraint firstItem="tc9-OD-L9x" firstAttribute="leading" secondItem="6kt-xb-IdN" secondAttribute="leading" constant="15" id="H9H-ud-58B"/> | |
355 | + <constraint firstAttribute="trailing" secondItem="gpI-zw-6qq" secondAttribute="trailing" constant="15" id="TOV-dd-5uu"/> | |
302 | 356 | <constraint firstAttribute="trailing" secondItem="7wy-DL-PKX" secondAttribute="trailing" id="VW0-SV-RMy"/> |
303 | - <constraint firstItem="qcg-Fh-r2v" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="topMargin" constant="25" id="XhC-hV-TPX"/> | |
357 | + <constraint firstItem="qcg-Fh-r2v" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="topMargin" constant="22.5" id="XhC-hV-TPX"/> | |
304 | 358 | <constraint firstItem="7wy-DL-PKX" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="top" id="YbM-fT-qi7"/> |
305 | - <constraint firstItem="BjK-Gw-VeS" firstAttribute="leading" secondItem="6kt-xb-IdN" secondAttribute="leading" constant="8" id="fES-Cd-ybP"/> | |
306 | - <constraint firstAttribute="bottom" secondItem="BjK-Gw-VeS" secondAttribute="bottom" id="iOk-mu-PWT"/> | |
359 | + <constraint firstItem="BjK-Gw-VeS" firstAttribute="leading" secondItem="6kt-xb-IdN" secondAttribute="leading" constant="15" id="fES-Cd-ybP"/> | |
360 | + <constraint firstAttribute="bottom" secondItem="BjK-Gw-VeS" secondAttribute="bottom" constant="15" id="iOk-mu-PWT"/> | |
307 | 361 | <constraint firstItem="7wy-DL-PKX" firstAttribute="leading" secondItem="6kt-xb-IdN" secondAttribute="leading" id="s4K-qo-g3e"/> |
308 | - <constraint firstItem="qcg-Fh-r2v" firstAttribute="leading" secondItem="tc9-OD-L9x" secondAttribute="trailing" constant="8" id="sZ7-sT-QdJ"/> | |
309 | - <constraint firstAttribute="trailing" secondItem="BjK-Gw-VeS" secondAttribute="trailing" constant="8" id="ujX-8f-TtW"/> | |
310 | - <constraint firstItem="gpI-zw-6qq" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="top" constant="28" id="yQW-LA-9fx"/> | |
362 | + <constraint firstItem="qcg-Fh-r2v" firstAttribute="leading" secondItem="tc9-OD-L9x" secondAttribute="trailing" constant="20" id="sZ7-sT-QdJ"/> | |
363 | + <constraint firstAttribute="trailing" secondItem="BjK-Gw-VeS" secondAttribute="trailing" constant="15" id="ujX-8f-TtW"/> | |
364 | + <constraint firstItem="BjK-Gw-VeS" firstAttribute="top" secondItem="tc9-OD-L9x" secondAttribute="bottom" constant="15" id="ukg-8D-CZH"/> | |
365 | + <constraint firstItem="gpI-zw-6qq" firstAttribute="top" secondItem="6kt-xb-IdN" secondAttribute="top" constant="32.5" id="yQW-LA-9fx"/> | |
311 | 366 | </constraints> |
312 | 367 | </tableViewCellContentView> |
313 | 368 | </tableViewCell> |
314 | - <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"> | |
315 | - <rect key="frame" x="0.0" y="364" width="375" height="239"/> | |
369 | + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="cell1" selectionStyle="none" indentationWidth="10" reuseIdentifier="cell1" rowHeight="252" id="ZCI-0y-Uf0" customClass="HomeSecondTableViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> | |
370 | + <rect key="frame" x="0.0" y="364" width="375" height="252"/> | |
316 | 371 | <autoresizingMask key="autoresizingMask"/> |
317 | 372 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="ZCI-0y-Uf0" id="Cq0-Rg-if7"> |
318 | - <rect key="frame" x="0.0" y="0.0" width="375" height="239"/> | |
373 | + <rect key="frame" x="0.0" y="0.0" width="375" height="252"/> | |
319 | 374 | <autoresizingMask key="autoresizingMask"/> |
320 | 375 | <subviews> |
321 | 376 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="X1l-jG-Huh"> |
322 | - <rect key="frame" x="0.0" y="0.0" width="375" height="20"/> | |
377 | + <rect key="frame" x="0.0" y="0.0" width="375" height="15"/> | |
323 | 378 | <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> |
324 | 379 | <constraints> |
325 | - <constraint firstAttribute="height" constant="20" id="cu9-3U-16R"/> | |
380 | + <constraint firstAttribute="height" constant="15" id="cu9-3U-16R"/> | |
326 | 381 | </constraints> |
327 | 382 | </view> |
328 | 383 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="JfT-qO-w2b"> |
329 | - <rect key="frame" x="8" y="28" width="30" height="30"/> | |
384 | + <rect key="frame" x="15" y="30" width="20" height="20"/> | |
330 | 385 | <constraints> |
331 | - <constraint firstAttribute="width" constant="30" id="gju-0Y-vbI"/> | |
332 | - <constraint firstAttribute="height" constant="30" id="upC-qc-OXv"/> | |
386 | + <constraint firstAttribute="width" constant="20" id="gju-0Y-vbI"/> | |
387 | + <constraint firstAttribute="height" constant="20" id="upC-qc-OXv"/> | |
333 | 388 | </constraints> |
334 | 389 | </imageView> |
335 | 390 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="QcE-wo-WjW"> |
336 | - <rect key="frame" x="337" y="28" width="30" height="30"/> | |
391 | + <rect key="frame" x="352" y="32.5" width="8" height="15"/> | |
337 | 392 | <constraints> |
338 | - <constraint firstAttribute="width" constant="30" id="6rP-92-fox"/> | |
339 | - <constraint firstAttribute="height" constant="30" id="DH3-jE-L3a"/> | |
393 | + <constraint firstAttribute="width" constant="8" id="6rP-92-fox"/> | |
394 | + <constraint firstAttribute="height" constant="15" id="DH3-jE-L3a"/> | |
340 | 395 | </constraints> |
341 | 396 | </imageView> |
342 | 397 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="热门微课" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Xxv-Eh-YJD"> |
343 | - <rect key="frame" x="46" y="33" width="69.5" height="21"/> | |
344 | - <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
345 | - <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> | |
398 | + <rect key="frame" x="55" y="31" width="61.5" height="18"/> | |
399 | + <fontDescription key="fontDescription" type="system" pointSize="15"/> | |
400 | + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/> | |
346 | 401 | <nil key="highlightedColor"/> |
347 | 402 | </label> |
348 | 403 | <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" tag="1" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="RVe-Pr-T23"> |
349 | - <rect key="frame" x="8" y="83" width="359" height="156"/> | |
404 | + <rect key="frame" x="15" y="65" width="345" height="187"/> | |
350 | 405 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
351 | 406 | <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="w5u-tk-vf4"> |
352 | - <size key="itemSize" width="165" height="146"/> | |
407 | + <size key="itemSize" width="207" height="193"/> | |
353 | 408 | <size key="headerReferenceSize" width="0.0" height="0.0"/> |
354 | 409 | <size key="footerReferenceSize" width="0.0" height="0.0"/> |
355 | 410 | <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/> |
356 | 411 | </collectionViewFlowLayout> |
357 | 412 | <cells> |
358 | 413 | <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="HomeSecondCollectionViewCell" id="apu-hG-EEc" customClass="HomeSecondCollectionViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> |
359 | - <rect key="frame" x="0.0" y="0.0" width="165" height="146"/> | |
414 | + <rect key="frame" x="69" y="0.0" width="207" height="193"/> | |
360 | 415 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> |
361 | 416 | <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> |
362 | - <rect key="frame" x="0.0" y="0.0" width="165" height="146"/> | |
417 | + <rect key="frame" x="0.0" y="0.0" width="207" height="193"/> | |
363 | 418 | <autoresizingMask key="autoresizingMask"/> |
364 | 419 | <subviews> |
365 | 420 | <imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="5g9-CD-vXa"> |
366 | - <rect key="frame" x="0.0" y="0.0" width="160" height="87.5"/> | |
421 | + <rect key="frame" x="0.0" y="0.0" width="207" height="93.5"/> | |
367 | 422 | <userDefinedRuntimeAttributes> |
368 | 423 | <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/> |
369 | 424 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> |
... | ... | @@ -372,37 +427,37 @@ |
372 | 427 | </userDefinedRuntimeAttributes> |
373 | 428 | </imageView> |
374 | 429 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="神奇的线圈" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FRa-kP-4Or"> |
375 | - <rect key="frame" x="0.0" y="97" width="117.5" height="18"/> | |
376 | - <fontDescription key="fontDescription" type="system" pointSize="15"/> | |
377 | - <nil key="textColor"/> | |
430 | + <rect key="frame" x="0.0" y="136" width="164.5" height="17"/> | |
431 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
432 | + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/> | |
378 | 433 | <nil key="highlightedColor"/> |
379 | 434 | </label> |
380 | 435 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="主讲师:老师" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Okq-ZI-Xh2"> |
381 | - <rect key="frame" x="0.0" y="123" width="96" height="15"/> | |
436 | + <rect key="frame" x="0.0" y="163" width="138" height="15"/> | |
382 | 437 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
383 | 438 | <nil key="textColor"/> |
384 | 439 | <nil key="highlightedColor"/> |
385 | 440 | </label> |
386 | 441 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="01-01" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Z3c-Ai-wr8"> |
387 | - <rect key="frame" x="125.5" y="99.5" width="34.5" height="16"/> | |
442 | + <rect key="frame" x="172.5" y="137.5" width="34.5" height="16"/> | |
388 | 443 | <constraints> |
389 | 444 | <constraint firstAttribute="width" constant="34.5" id="4Ms-Yd-VYH"/> |
390 | 445 | </constraints> |
391 | 446 | <fontDescription key="fontDescription" type="system" pointSize="13"/> |
392 | - <nil key="textColor"/> | |
447 | + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/> | |
393 | 448 | <nil key="highlightedColor"/> |
394 | 449 | </label> |
395 | 450 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="99999" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tln-9q-8L4"> |
396 | - <rect key="frame" x="121.5" y="123.5" width="38.5" height="14.5"/> | |
451 | + <rect key="frame" x="168.5" y="163.5" width="38.5" height="14.5"/> | |
397 | 452 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
398 | - <nil key="textColor"/> | |
453 | + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/> | |
399 | 454 | <nil key="highlightedColor"/> |
400 | 455 | </label> |
401 | 456 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="Ah6-9S-zUX"> |
402 | - <rect key="frame" x="104" y="123" width="15" height="15"/> | |
457 | + <rect key="frame" x="154" y="167" width="12" height="8"/> | |
403 | 458 | <constraints> |
404 | - <constraint firstAttribute="width" constant="15" id="Gst-KJ-hy2"/> | |
405 | - <constraint firstAttribute="height" constant="15" id="IB2-dY-89b"/> | |
459 | + <constraint firstAttribute="width" constant="12" id="Gst-KJ-hy2"/> | |
460 | + <constraint firstAttribute="height" constant="8" id="IB2-dY-89b"/> | |
406 | 461 | </constraints> |
407 | 462 | </imageView> |
408 | 463 | </subviews> |
... | ... | @@ -411,19 +466,19 @@ |
411 | 466 | <constraint firstItem="Z3c-Ai-wr8" firstAttribute="leading" secondItem="FRa-kP-4Or" secondAttribute="trailing" constant="8" id="4L1-p3-lcO"/> |
412 | 467 | <constraint firstAttribute="trailingMargin" secondItem="Okq-ZI-Xh2" secondAttribute="trailing" constant="61" id="6V2-3e-YCS"/> |
413 | 468 | <constraint firstItem="5g9-CD-vXa" firstAttribute="leading" secondItem="apu-hG-EEc" secondAttribute="leading" id="8mz-9g-viB"/> |
414 | - <constraint firstItem="5g9-CD-vXa" firstAttribute="height" secondItem="apu-hG-EEc" secondAttribute="height" multiplier="3:5" id="Cna-LC-U6q"/> | |
415 | - <constraint firstAttribute="trailing" secondItem="tln-9q-8L4" secondAttribute="trailing" constant="5" id="E6O-vX-SmB"/> | |
416 | - <constraint firstItem="Okq-ZI-Xh2" firstAttribute="top" secondItem="FRa-kP-4Or" secondAttribute="bottom" constant="8" id="Jbx-d9-HO1"/> | |
469 | + <constraint firstItem="5g9-CD-vXa" firstAttribute="height" secondItem="apu-hG-EEc" secondAttribute="height" multiplier="16:33" id="Cna-LC-U6q"/> | |
470 | + <constraint firstAttribute="trailing" secondItem="tln-9q-8L4" secondAttribute="trailing" id="E6O-vX-SmB"/> | |
471 | + <constraint firstItem="Okq-ZI-Xh2" firstAttribute="top" secondItem="FRa-kP-4Or" secondAttribute="bottom" constant="10" id="Jbx-d9-HO1"/> | |
417 | 472 | <constraint firstItem="FRa-kP-4Or" firstAttribute="leading" secondItem="apu-hG-EEc" secondAttribute="leading" id="Ntj-vJ-hJ8"/> |
418 | - <constraint firstAttribute="bottom" secondItem="Okq-ZI-Xh2" secondAttribute="bottom" constant="8" id="QF3-cj-K1q"/> | |
473 | + <constraint firstAttribute="bottom" secondItem="Okq-ZI-Xh2" secondAttribute="bottom" constant="15" id="QF3-cj-K1q"/> | |
419 | 474 | <constraint firstItem="5g9-CD-vXa" firstAttribute="top" secondItem="apu-hG-EEc" secondAttribute="top" id="QVL-f3-dbA"/> |
420 | - <constraint firstAttribute="bottom" secondItem="tln-9q-8L4" secondAttribute="bottom" constant="8" id="ZWt-gE-SDD"/> | |
475 | + <constraint firstAttribute="bottom" secondItem="tln-9q-8L4" secondAttribute="bottom" constant="15" id="ZWt-gE-SDD"/> | |
421 | 476 | <constraint firstItem="Okq-ZI-Xh2" firstAttribute="leading" secondItem="apu-hG-EEc" secondAttribute="leading" id="amA-JO-bBv"/> |
422 | - <constraint firstAttribute="trailing" secondItem="Z3c-Ai-wr8" secondAttribute="trailing" constant="5" id="gQg-P7-tzY"/> | |
477 | + <constraint firstAttribute="trailing" secondItem="Z3c-Ai-wr8" secondAttribute="trailing" id="gQg-P7-tzY"/> | |
423 | 478 | <constraint firstItem="tln-9q-8L4" firstAttribute="leading" secondItem="Ah6-9S-zUX" secondAttribute="trailing" constant="2.5" id="hcm-2p-mkH"/> |
424 | - <constraint firstAttribute="trailing" secondItem="5g9-CD-vXa" secondAttribute="trailing" constant="5" id="iYZ-VU-Qxd"/> | |
425 | - <constraint firstAttribute="bottomMargin" secondItem="Ah6-9S-zUX" secondAttribute="bottom" id="o2X-v5-iIB"/> | |
426 | - <constraint firstItem="tln-9q-8L4" firstAttribute="top" secondItem="Z3c-Ai-wr8" secondAttribute="bottom" constant="8" id="odz-bE-nss"/> | |
479 | + <constraint firstAttribute="trailing" secondItem="5g9-CD-vXa" secondAttribute="trailing" id="iYZ-VU-Qxd"/> | |
480 | + <constraint firstAttribute="bottomMargin" secondItem="Ah6-9S-zUX" secondAttribute="bottom" constant="10" id="o2X-v5-iIB"/> | |
481 | + <constraint firstItem="tln-9q-8L4" firstAttribute="top" secondItem="Z3c-Ai-wr8" secondAttribute="bottom" constant="10" id="odz-bE-nss"/> | |
427 | 482 | </constraints> |
428 | 483 | <connections> |
429 | 484 | <outlet property="dateLabel" destination="Z3c-Ai-wr8" id="FRL-DX-Cjy"/> |
... | ... | @@ -441,76 +496,76 @@ |
441 | 496 | </collectionView> |
442 | 497 | </subviews> |
443 | 498 | <constraints> |
444 | - <constraint firstItem="Xxv-Eh-YJD" firstAttribute="leading" secondItem="JfT-qO-w2b" secondAttribute="trailing" constant="8" id="Oh2-rT-AyR"/> | |
445 | - <constraint firstItem="JfT-qO-w2b" firstAttribute="top" secondItem="X1l-jG-Huh" secondAttribute="bottom" constant="8" id="Oq0-HW-fvi"/> | |
499 | + <constraint firstItem="Xxv-Eh-YJD" firstAttribute="leading" secondItem="JfT-qO-w2b" secondAttribute="trailing" constant="20" id="Oh2-rT-AyR"/> | |
500 | + <constraint firstItem="JfT-qO-w2b" firstAttribute="top" secondItem="X1l-jG-Huh" secondAttribute="bottom" constant="15" id="Oq0-HW-fvi"/> | |
446 | 501 | <constraint firstItem="X1l-jG-Huh" firstAttribute="leading" secondItem="Cq0-Rg-if7" secondAttribute="leading" id="PzB-GC-QTO"/> |
447 | - <constraint firstItem="JfT-qO-w2b" firstAttribute="leading" secondItem="Cq0-Rg-if7" secondAttribute="leading" constant="8" id="Vk4-B0-rkr"/> | |
502 | + <constraint firstItem="JfT-qO-w2b" firstAttribute="leading" secondItem="Cq0-Rg-if7" secondAttribute="leading" constant="15" id="Vk4-B0-rkr"/> | |
448 | 503 | <constraint firstItem="X1l-jG-Huh" firstAttribute="top" secondItem="Cq0-Rg-if7" secondAttribute="top" id="VrV-Ys-kvx"/> |
449 | - <constraint firstAttribute="trailing" secondItem="RVe-Pr-T23" secondAttribute="trailing" constant="8" id="bZh-d7-on4"/> | |
450 | - <constraint firstItem="QcE-wo-WjW" firstAttribute="top" secondItem="X1l-jG-Huh" secondAttribute="bottom" constant="8" id="f8O-fQ-wlw"/> | |
504 | + <constraint firstAttribute="trailing" secondItem="RVe-Pr-T23" secondAttribute="trailing" constant="15" id="bZh-d7-on4"/> | |
505 | + <constraint firstItem="QcE-wo-WjW" firstAttribute="top" secondItem="X1l-jG-Huh" secondAttribute="bottom" constant="17.5" id="f8O-fQ-wlw"/> | |
451 | 506 | <constraint firstAttribute="bottom" secondItem="RVe-Pr-T23" secondAttribute="bottom" id="n4e-2D-Lhx"/> |
452 | - <constraint firstItem="RVe-Pr-T23" firstAttribute="leading" secondItem="Cq0-Rg-if7" secondAttribute="leading" constant="8" id="npx-Ap-jZy"/> | |
453 | - <constraint firstItem="RVe-Pr-T23" firstAttribute="top" secondItem="QcE-wo-WjW" secondAttribute="bottom" constant="25" id="qSC-rl-7ob"/> | |
507 | + <constraint firstItem="RVe-Pr-T23" firstAttribute="leading" secondItem="Cq0-Rg-if7" secondAttribute="leading" constant="15" id="npx-Ap-jZy"/> | |
508 | + <constraint firstItem="RVe-Pr-T23" firstAttribute="top" secondItem="JfT-qO-w2b" secondAttribute="bottom" constant="15" id="qT2-1K-3u3"/> | |
454 | 509 | <constraint firstAttribute="trailing" secondItem="X1l-jG-Huh" secondAttribute="trailing" id="r4k-87-FG5"/> |
455 | - <constraint firstItem="Xxv-Eh-YJD" firstAttribute="top" secondItem="X1l-jG-Huh" secondAttribute="bottom" constant="13" id="rRq-W3-cJT"/> | |
456 | - <constraint firstAttribute="trailing" secondItem="QcE-wo-WjW" secondAttribute="trailing" constant="8" id="wTk-uV-bbq"/> | |
510 | + <constraint firstItem="Xxv-Eh-YJD" firstAttribute="top" secondItem="X1l-jG-Huh" secondAttribute="bottom" constant="16" id="rRq-W3-cJT"/> | |
511 | + <constraint firstAttribute="trailing" secondItem="QcE-wo-WjW" secondAttribute="trailing" constant="15" id="wTk-uV-bbq"/> | |
457 | 512 | </constraints> |
458 | 513 | </tableViewCellContentView> |
459 | 514 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
460 | 515 | </tableViewCell> |
461 | 516 | <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="cell2" selectionStyle="none" indentationWidth="10" reuseIdentifier="cell2" rowHeight="313" id="gzq-jC-D39" customClass="HomeThirdTableViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> |
462 | - <rect key="frame" x="0.0" y="603" width="375" height="313"/> | |
517 | + <rect key="frame" x="0.0" y="616" width="375" height="313"/> | |
463 | 518 | <autoresizingMask key="autoresizingMask"/> |
464 | 519 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="gzq-jC-D39" id="kA1-Za-kS2"> |
465 | 520 | <rect key="frame" x="0.0" y="0.0" width="375" height="313"/> |
466 | 521 | <autoresizingMask key="autoresizingMask"/> |
467 | 522 | <subviews> |
468 | 523 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9Zz-SB-8Fl"> |
469 | - <rect key="frame" x="0.0" y="0.0" width="375" height="20"/> | |
524 | + <rect key="frame" x="0.0" y="0.0" width="375" height="15"/> | |
470 | 525 | <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> |
471 | 526 | <constraints> |
472 | - <constraint firstAttribute="height" constant="20" id="zk7-4f-Srd"/> | |
527 | + <constraint firstAttribute="height" constant="15" id="zk7-4f-Srd"/> | |
473 | 528 | </constraints> |
474 | 529 | </view> |
475 | 530 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="UWk-5A-PEj"> |
476 | - <rect key="frame" x="8" y="28" width="30" height="30"/> | |
531 | + <rect key="frame" x="15" y="30" width="20" height="20"/> | |
477 | 532 | <constraints> |
478 | - <constraint firstAttribute="width" constant="30" id="c35-8L-oxO"/> | |
479 | - <constraint firstAttribute="height" constant="30" id="iOy-11-gMR"/> | |
533 | + <constraint firstAttribute="width" constant="20" id="c35-8L-oxO"/> | |
534 | + <constraint firstAttribute="height" constant="20" id="iOy-11-gMR"/> | |
480 | 535 | </constraints> |
481 | 536 | </imageView> |
482 | 537 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="Tib-Fm-A1U"> |
483 | - <rect key="frame" x="337" y="28" width="30" height="30"/> | |
538 | + <rect key="frame" x="352" y="32.5" width="8" height="15"/> | |
484 | 539 | <constraints> |
485 | - <constraint firstAttribute="height" constant="30" id="5ek-5S-7Cb"/> | |
486 | - <constraint firstAttribute="width" constant="30" id="k5G-EP-9l9"/> | |
540 | + <constraint firstAttribute="height" constant="15" id="5ek-5S-7Cb"/> | |
541 | + <constraint firstAttribute="width" constant="8" id="k5G-EP-9l9"/> | |
487 | 542 | </constraints> |
488 | 543 | </imageView> |
489 | 544 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="资源" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="nKJ-qz-sg8"> |
490 | - <rect key="frame" x="46" y="33" width="35" height="21"/> | |
491 | - <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
492 | - <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> | |
545 | + <rect key="frame" x="50" y="31" width="31" height="18"/> | |
546 | + <fontDescription key="fontDescription" type="system" pointSize="15"/> | |
547 | + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/> | |
493 | 548 | <nil key="highlightedColor"/> |
494 | 549 | </label> |
495 | - <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" tag="1" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="0uI-9D-XVZ"> | |
496 | - <rect key="frame" x="8" y="83" width="359" height="230"/> | |
550 | + <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" tag="1" contentMode="scaleToFill" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="0uI-9D-XVZ"> | |
551 | + <rect key="frame" x="15" y="65" width="345" height="248"/> | |
497 | 552 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
498 | 553 | <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="f2C-TL-VTa"> |
499 | - <size key="itemSize" width="113" height="222"/> | |
554 | + <size key="itemSize" width="147" height="246"/> | |
500 | 555 | <size key="headerReferenceSize" width="0.0" height="0.0"/> |
501 | 556 | <size key="footerReferenceSize" width="0.0" height="0.0"/> |
502 | 557 | <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/> |
503 | 558 | </collectionViewFlowLayout> |
504 | 559 | <cells> |
505 | 560 | <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="HomeThirdCollectionViewCell" id="gdp-Ji-zur" customClass="HomeThirdCollectionViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> |
506 | - <rect key="frame" x="0.0" y="0.0" width="113" height="222"/> | |
561 | + <rect key="frame" x="0.0" y="0.0" width="147" height="246"/> | |
507 | 562 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> |
508 | 563 | <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> |
509 | - <rect key="frame" x="0.0" y="0.0" width="113" height="222"/> | |
564 | + <rect key="frame" x="0.0" y="0.0" width="147" height="246"/> | |
510 | 565 | <autoresizingMask key="autoresizingMask"/> |
511 | 566 | <subviews> |
512 | 567 | <imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="bUk-R1-5gT"> |
513 | - <rect key="frame" x="0.0" y="0.0" width="108" height="108"/> | |
568 | + <rect key="frame" x="0.0" y="0.0" width="147" height="147"/> | |
514 | 569 | <constraints> |
515 | 570 | <constraint firstAttribute="width" secondItem="bUk-R1-5gT" secondAttribute="height" multiplier="1:1" id="MTe-oF-wJF"/> |
516 | 571 | </constraints> |
... | ... | @@ -521,62 +576,66 @@ |
521 | 576 | </userDefinedRuntimeAttribute> |
522 | 577 | </userDefinedRuntimeAttributes> |
523 | 578 | </imageView> |
524 | - <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"> | |
525 | - <rect key="frame" x="0.0" y="125" width="108" height="42"/> | |
579 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="神奇的线圈神奇的线圈神奇的线圈神奇的线圈神奇的线圈神奇的线圈" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Zk6-bu-T1Z"> | |
580 | + <rect key="frame" x="0.0" y="150.5" width="147" height="30"/> | |
526 | 581 | <constraints> |
527 | - <constraint firstAttribute="height" constant="42" id="9Hi-f9-B2N"/> | |
582 | + <constraint firstAttribute="height" constant="30" id="5EB-ra-Pnh"/> | |
528 | 583 | </constraints> |
529 | - <fontDescription key="fontDescription" type="system" pointSize="15"/> | |
530 | - <nil key="textColor"/> | |
584 | + <fontDescription key="fontDescription" type="system" pointSize="12"/> | |
585 | + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/> | |
531 | 586 | <nil key="highlightedColor"/> |
532 | 587 | </label> |
533 | 588 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="01-01" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="q2O-JU-nOk"> |
534 | - <rect key="frame" x="0.0" y="198" width="44" height="16"/> | |
535 | - <fontDescription key="fontDescription" type="system" pointSize="13"/> | |
536 | - <nil key="textColor"/> | |
589 | + <rect key="frame" x="0.0" y="216" width="100" height="15"/> | |
590 | + <constraints> | |
591 | + <constraint firstAttribute="height" constant="15" id="FNC-fa-EYl"/> | |
592 | + </constraints> | |
593 | + <fontDescription key="fontDescription" type="system" pointSize="12"/> | |
594 | + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/> | |
537 | 595 | <nil key="highlightedColor"/> |
538 | 596 | </label> |
539 | 597 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="99999" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ens-w5-JNf"> |
540 | - <rect key="frame" x="69" y="199" width="39" height="15"/> | |
598 | + <rect key="frame" x="108" y="216" width="39" height="15"/> | |
541 | 599 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
542 | - <nil key="textColor"/> | |
600 | + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/> | |
543 | 601 | <nil key="highlightedColor"/> |
544 | 602 | </label> |
545 | 603 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="j8z-Dm-5mL"> |
546 | - <rect key="frame" x="52" y="199" width="15" height="15"/> | |
604 | + <rect key="frame" x="100" y="220" width="8" height="8"/> | |
547 | 605 | <constraints> |
548 | - <constraint firstAttribute="width" constant="15" id="f5p-Mv-Ylo"/> | |
549 | - <constraint firstAttribute="height" constant="15" id="yKI-Iv-ctT"/> | |
606 | + <constraint firstAttribute="width" constant="8" id="f5p-Mv-Ylo"/> | |
607 | + <constraint firstAttribute="height" constant="8" id="yKI-Iv-ctT"/> | |
550 | 608 | </constraints> |
551 | 609 | </imageView> |
552 | 610 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="上传者:老师" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vag-ao-LKQ"> |
553 | - <rect key="frame" x="0.0" y="175" width="108" height="15"/> | |
611 | + <rect key="frame" x="0.0" y="191" width="147" height="15"/> | |
554 | 612 | <constraints> |
555 | 613 | <constraint firstAttribute="height" constant="15" id="8nl-am-VuO"/> |
556 | 614 | </constraints> |
557 | 615 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
558 | - <nil key="textColor"/> | |
616 | + <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/> | |
559 | 617 | <nil key="highlightedColor"/> |
560 | 618 | </label> |
561 | 619 | </subviews> |
562 | 620 | </view> |
621 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | |
563 | 622 | <constraints> |
564 | - <constraint firstItem="Ens-w5-JNf" firstAttribute="leading" secondItem="j8z-Dm-5mL" secondAttribute="trailing" constant="2.5" id="64X-uP-6eu"/> | |
565 | - <constraint firstAttribute="trailing" secondItem="vag-ao-LKQ" secondAttribute="trailing" constant="5" id="8jK-AG-5BE"/> | |
566 | - <constraint firstItem="q2O-JU-nOk" firstAttribute="top" secondItem="vag-ao-LKQ" secondAttribute="bottom" constant="8" id="BxM-zs-idP"/> | |
567 | - <constraint firstAttribute="bottomMargin" secondItem="j8z-Dm-5mL" secondAttribute="bottom" id="CTt-Wl-pgl"/> | |
568 | - <constraint firstAttribute="bottom" secondItem="Ens-w5-JNf" secondAttribute="bottom" constant="8" id="CYj-Yh-ykl"/> | |
623 | + <constraint firstItem="Ens-w5-JNf" firstAttribute="leading" secondItem="j8z-Dm-5mL" secondAttribute="trailing" id="64X-uP-6eu"/> | |
624 | + <constraint firstAttribute="trailing" secondItem="vag-ao-LKQ" secondAttribute="trailing" id="8jK-AG-5BE"/> | |
625 | + <constraint firstItem="q2O-JU-nOk" firstAttribute="top" secondItem="vag-ao-LKQ" secondAttribute="bottom" constant="10" id="BxM-zs-idP"/> | |
626 | + <constraint firstAttribute="bottom" secondItem="Ens-w5-JNf" secondAttribute="bottom" constant="15" id="CYj-Yh-ykl"/> | |
569 | 627 | <constraint firstItem="vag-ao-LKQ" firstAttribute="leading" secondItem="gdp-Ji-zur" secondAttribute="leading" id="Djn-nH-5tu"/> |
570 | - <constraint firstItem="vag-ao-LKQ" firstAttribute="top" secondItem="Zk6-bu-T1Z" secondAttribute="bottom" constant="8" id="TUh-h3-ZgZ"/> | |
571 | - <constraint firstAttribute="bottom" secondItem="q2O-JU-nOk" secondAttribute="bottom" constant="8" id="URf-Pj-lNP"/> | |
628 | + <constraint firstItem="vag-ao-LKQ" firstAttribute="top" secondItem="Zk6-bu-T1Z" secondAttribute="bottom" constant="10" id="TUh-h3-ZgZ"/> | |
629 | + <constraint firstAttribute="bottom" secondItem="q2O-JU-nOk" secondAttribute="bottom" constant="15" id="URf-Pj-lNP"/> | |
572 | 630 | <constraint firstItem="Zk6-bu-T1Z" firstAttribute="leading" secondItem="gdp-Ji-zur" secondAttribute="leading" id="Vng-Q4-dJt"/> |
573 | - <constraint firstAttribute="trailing" secondItem="Ens-w5-JNf" secondAttribute="trailing" constant="5" id="WIv-BG-KUZ"/> | |
631 | + <constraint firstAttribute="trailing" secondItem="Ens-w5-JNf" secondAttribute="trailing" id="WIv-BG-KUZ"/> | |
574 | 632 | <constraint firstItem="bUk-R1-5gT" firstAttribute="leading" secondItem="gdp-Ji-zur" secondAttribute="leading" id="X8S-q4-Yjy"/> |
575 | - <constraint firstAttribute="trailing" secondItem="Zk6-bu-T1Z" secondAttribute="trailing" constant="5" id="ZCV-WC-xJv"/> | |
576 | - <constraint firstAttribute="trailingMargin" secondItem="q2O-JU-nOk" secondAttribute="trailing" constant="61" id="ojG-9i-zX4"/> | |
633 | + <constraint firstAttribute="trailing" secondItem="Zk6-bu-T1Z" secondAttribute="trailing" id="ZCV-WC-xJv"/> | |
634 | + <constraint firstAttribute="trailingMargin" secondItem="q2O-JU-nOk" secondAttribute="trailing" constant="39" id="ojG-9i-zX4"/> | |
577 | 635 | <constraint firstItem="bUk-R1-5gT" firstAttribute="top" secondItem="gdp-Ji-zur" secondAttribute="top" id="q6C-YR-cFO"/> |
578 | 636 | <constraint firstItem="q2O-JU-nOk" firstAttribute="leading" secondItem="gdp-Ji-zur" secondAttribute="leading" id="qUh-gl-kWl"/> |
579 | - <constraint firstAttribute="trailing" secondItem="bUk-R1-5gT" secondAttribute="trailing" constant="5" id="xj0-qF-rhP"/> | |
637 | + <constraint firstAttribute="bottomMargin" secondItem="j8z-Dm-5mL" secondAttribute="bottom" constant="10" id="vef-74-Jan"/> | |
638 | + <constraint firstAttribute="trailing" secondItem="bUk-R1-5gT" secondAttribute="trailing" id="xj0-qF-rhP"/> | |
580 | 639 | </constraints> |
581 | 640 | <connections> |
582 | 641 | <outlet property="dateLabel" destination="q2O-JU-nOk" id="cCA-VL-aAf"/> |
... | ... | @@ -594,61 +653,61 @@ |
594 | 653 | </collectionView> |
595 | 654 | </subviews> |
596 | 655 | <constraints> |
597 | - <constraint firstItem="Tib-Fm-A1U" firstAttribute="top" secondItem="9Zz-SB-8Fl" secondAttribute="bottom" constant="8" id="35X-cd-fAU"/> | |
598 | - <constraint firstItem="nKJ-qz-sg8" firstAttribute="top" secondItem="9Zz-SB-8Fl" secondAttribute="bottom" constant="13" id="A8h-XS-V9X"/> | |
599 | - <constraint firstItem="UWk-5A-PEj" firstAttribute="leading" secondItem="kA1-Za-kS2" secondAttribute="leading" constant="8" id="GTt-JU-67B"/> | |
656 | + <constraint firstItem="Tib-Fm-A1U" firstAttribute="top" secondItem="9Zz-SB-8Fl" secondAttribute="bottom" constant="17.5" id="35X-cd-fAU"/> | |
657 | + <constraint firstItem="nKJ-qz-sg8" firstAttribute="top" secondItem="9Zz-SB-8Fl" secondAttribute="bottom" constant="16" id="A8h-XS-V9X"/> | |
658 | + <constraint firstItem="UWk-5A-PEj" firstAttribute="leading" secondItem="kA1-Za-kS2" secondAttribute="leading" constant="15" id="GTt-JU-67B"/> | |
600 | 659 | <constraint firstAttribute="bottom" secondItem="0uI-9D-XVZ" secondAttribute="bottom" id="IiM-YI-cmg"/> |
601 | - <constraint firstItem="0uI-9D-XVZ" firstAttribute="top" secondItem="Tib-Fm-A1U" secondAttribute="bottom" constant="25" id="NOs-5g-r1E"/> | |
602 | - <constraint firstAttribute="trailing" secondItem="Tib-Fm-A1U" secondAttribute="trailing" constant="8" id="Rg7-Q9-IdK"/> | |
603 | - <constraint firstItem="nKJ-qz-sg8" firstAttribute="leading" secondItem="UWk-5A-PEj" secondAttribute="trailing" constant="8" id="TRM-qN-0jP"/> | |
660 | + <constraint firstAttribute="trailing" secondItem="Tib-Fm-A1U" secondAttribute="trailing" constant="15" id="Rg7-Q9-IdK"/> | |
661 | + <constraint firstItem="nKJ-qz-sg8" firstAttribute="leading" secondItem="UWk-5A-PEj" secondAttribute="trailing" constant="15" id="TRM-qN-0jP"/> | |
604 | 662 | <constraint firstAttribute="trailing" secondItem="9Zz-SB-8Fl" secondAttribute="trailing" id="Ujw-UV-mco"/> |
605 | - <constraint firstItem="UWk-5A-PEj" firstAttribute="top" secondItem="9Zz-SB-8Fl" secondAttribute="bottom" constant="8" id="aKU-kC-KTK"/> | |
606 | - <constraint firstAttribute="trailing" secondItem="0uI-9D-XVZ" secondAttribute="trailing" constant="8" id="c13-N9-TW8"/> | |
663 | + <constraint firstItem="UWk-5A-PEj" firstAttribute="top" secondItem="9Zz-SB-8Fl" secondAttribute="bottom" constant="15" id="aKU-kC-KTK"/> | |
664 | + <constraint firstItem="0uI-9D-XVZ" firstAttribute="top" secondItem="UWk-5A-PEj" secondAttribute="bottom" constant="15" id="bLK-59-dco"/> | |
665 | + <constraint firstAttribute="trailing" secondItem="0uI-9D-XVZ" secondAttribute="trailing" constant="15" id="c13-N9-TW8"/> | |
607 | 666 | <constraint firstItem="9Zz-SB-8Fl" firstAttribute="leading" secondItem="kA1-Za-kS2" secondAttribute="leading" id="iZd-Ff-YdA"/> |
608 | 667 | <constraint firstItem="9Zz-SB-8Fl" firstAttribute="top" secondItem="kA1-Za-kS2" secondAttribute="top" id="io6-vo-MrT"/> |
609 | - <constraint firstItem="0uI-9D-XVZ" firstAttribute="leading" secondItem="kA1-Za-kS2" secondAttribute="leading" constant="8" id="ivh-0J-PTg"/> | |
668 | + <constraint firstItem="0uI-9D-XVZ" firstAttribute="leading" secondItem="kA1-Za-kS2" secondAttribute="leading" constant="15" id="ivh-0J-PTg"/> | |
610 | 669 | </constraints> |
611 | 670 | </tableViewCellContentView> |
612 | 671 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
613 | 672 | </tableViewCell> |
614 | - <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"> | |
615 | - <rect key="frame" x="0.0" y="916" width="375" height="120"/> | |
673 | + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="cell3" selectionStyle="none" indentationWidth="10" reuseIdentifier="cell3" rowHeight="200" id="u0l-tM-Sps" customClass="HomeFourTableViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> | |
674 | + <rect key="frame" x="0.0" y="929" width="375" height="200"/> | |
616 | 675 | <autoresizingMask key="autoresizingMask"/> |
617 | 676 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="u0l-tM-Sps" id="pAP-UQ-eh8"> |
618 | - <rect key="frame" x="0.0" y="0.0" width="375" height="120"/> | |
677 | + <rect key="frame" x="0.0" y="0.0" width="375" height="200"/> | |
619 | 678 | <autoresizingMask key="autoresizingMask"/> |
620 | 679 | <subviews> |
621 | 680 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Mv3-YA-1zb"> |
622 | - <rect key="frame" x="0.0" y="0.0" width="375" height="20"/> | |
681 | + <rect key="frame" x="0.0" y="0.0" width="375" height="15"/> | |
623 | 682 | <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> |
624 | 683 | <constraints> |
625 | - <constraint firstAttribute="height" constant="20" id="8kZ-Qb-uv0"/> | |
684 | + <constraint firstAttribute="height" constant="15" id="8kZ-Qb-uv0"/> | |
626 | 685 | </constraints> |
627 | 686 | </view> |
628 | 687 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="NyS-EO-TLP"> |
629 | - <rect key="frame" x="8" y="28" width="30" height="30"/> | |
688 | + <rect key="frame" x="15" y="30" width="20" height="20"/> | |
630 | 689 | <constraints> |
631 | - <constraint firstAttribute="width" constant="30" id="3VH-BC-Dg6"/> | |
632 | - <constraint firstAttribute="height" constant="30" id="FB0-l5-0Jp"/> | |
690 | + <constraint firstAttribute="width" constant="20" id="3VH-BC-Dg6"/> | |
691 | + <constraint firstAttribute="height" constant="20" id="FB0-l5-0Jp"/> | |
633 | 692 | </constraints> |
634 | 693 | </imageView> |
635 | 694 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="TE2-1P-sZs"> |
636 | - <rect key="frame" x="337" y="28" width="30" height="30"/> | |
695 | + <rect key="frame" x="352" y="32.5" width="8" height="15"/> | |
637 | 696 | <constraints> |
638 | - <constraint firstAttribute="height" constant="30" id="EJo-or-6w8"/> | |
639 | - <constraint firstAttribute="width" constant="30" id="HqT-ZX-Hf6"/> | |
697 | + <constraint firstAttribute="height" constant="15" id="EJo-or-6w8"/> | |
698 | + <constraint firstAttribute="width" constant="8" id="HqT-ZX-Hf6"/> | |
640 | 699 | </constraints> |
641 | 700 | </imageView> |
642 | 701 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="校园电视台" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UbK-Rj-Fs5"> |
643 | - <rect key="frame" x="46" y="33" width="87" height="21"/> | |
644 | - <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
645 | - <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> | |
702 | + <rect key="frame" x="50" y="30" width="82" height="20"/> | |
703 | + <fontDescription key="fontDescription" type="system" pointSize="16"/> | |
704 | + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/> | |
646 | 705 | <nil key="highlightedColor"/> |
647 | 706 | </label> |
648 | 707 | <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" tag="1" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="cYp-Zl-nJm"> |
649 | - <rect key="frame" x="8" y="83" width="359" height="37"/> | |
708 | + <rect key="frame" x="15" y="65" width="345" height="120"/> | |
650 | 709 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
651 | - <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="8" id="WlM-Mm-GpJ"> | |
710 | + <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="WlM-Mm-GpJ"> | |
652 | 711 | <size key="itemSize" width="128" height="200"/> |
653 | 712 | <size key="headerReferenceSize" width="0.0" height="0.0"/> |
654 | 713 | <size key="footerReferenceSize" width="0.0" height="0.0"/> |
... | ... | @@ -668,8 +727,8 @@ |
668 | 727 | <constraints> |
669 | 728 | <constraint firstAttribute="height" constant="30" id="4Og-hL-nhw"/> |
670 | 729 | </constraints> |
671 | - <fontDescription key="fontDescription" type="system" pointSize="15"/> | |
672 | - <nil key="textColor"/> | |
730 | + <fontDescription key="fontDescription" type="system" pointSize="14"/> | |
731 | + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/> | |
673 | 732 | <nil key="highlightedColor"/> |
674 | 733 | </label> |
675 | 734 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="ZWf-Th-UTw"> |
... | ... | @@ -701,19 +760,19 @@ |
701 | 760 | </collectionView> |
702 | 761 | </subviews> |
703 | 762 | <constraints> |
704 | - <constraint firstItem="NyS-EO-TLP" firstAttribute="top" secondItem="Mv3-YA-1zb" secondAttribute="bottom" constant="8" id="0ke-n8-TrJ"/> | |
705 | - <constraint firstItem="TE2-1P-sZs" firstAttribute="top" secondItem="Mv3-YA-1zb" secondAttribute="bottom" constant="8" id="1KX-Aj-m0i"/> | |
706 | - <constraint firstAttribute="trailing" secondItem="cYp-Zl-nJm" secondAttribute="trailing" constant="8" id="5NS-hQ-HDr"/> | |
763 | + <constraint firstItem="NyS-EO-TLP" firstAttribute="top" secondItem="Mv3-YA-1zb" secondAttribute="bottom" constant="15" id="0ke-n8-TrJ"/> | |
764 | + <constraint firstItem="TE2-1P-sZs" firstAttribute="top" secondItem="Mv3-YA-1zb" secondAttribute="bottom" constant="17.5" id="1KX-Aj-m0i"/> | |
765 | + <constraint firstAttribute="trailing" secondItem="cYp-Zl-nJm" secondAttribute="trailing" constant="15" id="5NS-hQ-HDr"/> | |
766 | + <constraint firstItem="cYp-Zl-nJm" firstAttribute="top" secondItem="NyS-EO-TLP" secondAttribute="bottom" constant="15" id="7eH-WY-cIS"/> | |
707 | 767 | <constraint firstItem="Mv3-YA-1zb" firstAttribute="top" secondItem="pAP-UQ-eh8" secondAttribute="top" id="ARU-SJ-pTz"/> |
708 | 768 | <constraint firstAttribute="trailing" secondItem="Mv3-YA-1zb" secondAttribute="trailing" id="I4t-Lc-D4H"/> |
709 | - <constraint firstAttribute="bottom" secondItem="cYp-Zl-nJm" secondAttribute="bottom" id="JIt-5J-1vX"/> | |
710 | - <constraint firstItem="UbK-Rj-Fs5" firstAttribute="top" secondItem="Mv3-YA-1zb" secondAttribute="bottom" constant="13" id="LSN-Sj-8zr"/> | |
711 | - <constraint firstAttribute="trailing" secondItem="TE2-1P-sZs" secondAttribute="trailing" constant="8" id="QlU-44-FxY"/> | |
712 | - <constraint firstItem="cYp-Zl-nJm" firstAttribute="top" secondItem="TE2-1P-sZs" secondAttribute="bottom" constant="25" id="VVE-0S-GvV"/> | |
713 | - <constraint firstItem="cYp-Zl-nJm" firstAttribute="leading" secondItem="pAP-UQ-eh8" secondAttribute="leading" constant="8" id="aI8-UO-9NX"/> | |
769 | + <constraint firstAttribute="bottom" secondItem="cYp-Zl-nJm" secondAttribute="bottom" constant="15" id="JIt-5J-1vX"/> | |
770 | + <constraint firstItem="UbK-Rj-Fs5" firstAttribute="top" secondItem="Mv3-YA-1zb" secondAttribute="bottom" constant="15" id="LSN-Sj-8zr"/> | |
771 | + <constraint firstAttribute="trailing" secondItem="TE2-1P-sZs" secondAttribute="trailing" constant="15" id="QlU-44-FxY"/> | |
772 | + <constraint firstItem="cYp-Zl-nJm" firstAttribute="leading" secondItem="pAP-UQ-eh8" secondAttribute="leading" constant="15" id="aI8-UO-9NX"/> | |
714 | 773 | <constraint firstItem="Mv3-YA-1zb" firstAttribute="leading" secondItem="pAP-UQ-eh8" secondAttribute="leading" id="cWh-v4-slW"/> |
715 | - <constraint firstItem="NyS-EO-TLP" firstAttribute="leading" secondItem="pAP-UQ-eh8" secondAttribute="leading" constant="8" id="hQw-PE-ApU"/> | |
716 | - <constraint firstItem="UbK-Rj-Fs5" firstAttribute="leading" secondItem="NyS-EO-TLP" secondAttribute="trailing" constant="8" id="vTs-ac-et0"/> | |
774 | + <constraint firstItem="NyS-EO-TLP" firstAttribute="leading" secondItem="pAP-UQ-eh8" secondAttribute="leading" constant="15" id="hQw-PE-ApU"/> | |
775 | + <constraint firstItem="UbK-Rj-Fs5" firstAttribute="leading" secondItem="NyS-EO-TLP" secondAttribute="trailing" constant="15" id="vTs-ac-et0"/> | |
717 | 776 | </constraints> |
718 | 777 | </tableViewCellContentView> |
719 | 778 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
... | ... | @@ -726,13 +785,7 @@ |
726 | 785 | <outlet property="delegate" destination="HdB-6p-eAX" id="k2q-uw-6l0"/> |
727 | 786 | </connections> |
728 | 787 | </tableView> |
729 | - <navigationItem key="navigationItem" id="u6G-VK-Ob0"> | |
730 | - <barButtonItem key="rightBarButtonItem" systemItem="search" id="Wrt-Tt-zFU"> | |
731 | - <connections> | |
732 | - <action selector="rightBarButtonAction:" destination="HdB-6p-eAX" id="FCr-SK-pbu"/> | |
733 | - </connections> | |
734 | - </barButtonItem> | |
735 | - </navigationItem> | |
788 | + <navigationItem key="navigationItem" title="教育视频云" id="u6G-VK-Ob0"/> | |
736 | 789 | <connections> |
737 | 790 | <outlet property="tableHeaderView" destination="w64-sF-NZ9" id="GF0-Uu-8HD"/> |
738 | 791 | </connections> |
... | ... | @@ -772,7 +825,7 @@ |
772 | 825 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
773 | 826 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
774 | 827 | </view> |
775 | - <navigationItem key="navigationItem" id="bcC-ei-aNW"/> | |
828 | + <navigationItem key="navigationItem" title="用户" id="KBV-ql-Taf"/> | |
776 | 829 | </viewController> |
777 | 830 | <placeholder placeholderIdentifier="IBFirstResponder" id="yJD-YG-4bQ" userLabel="First Responder" sceneMemberID="firstResponder"/> |
778 | 831 | </objects> |
... | ... | @@ -1064,7 +1117,7 @@ |
1064 | 1117 | </navigationBar> |
1065 | 1118 | <nil name="viewControllers"/> |
1066 | 1119 | <connections> |
1067 | - <segue destination="QLA-FR-CcL" kind="relationship" relationship="rootViewController" id="dfQ-M1-wUC"/> | |
1120 | + <segue destination="VUr-8w-9Ht" kind="relationship" relationship="rootViewController" id="jMk-GJ-Z4f"/> | |
1068 | 1121 | </connections> |
1069 | 1122 | </navigationController> |
1070 | 1123 | <placeholder placeholderIdentifier="IBFirstResponder" id="xYG-HE-dff" userLabel="First Responder" sceneMemberID="firstResponder"/> |
... | ... | @@ -1129,7 +1182,7 @@ |
1129 | 1182 | <rect key="frame" x="0.0" y="28" width="375" height="178"/> |
1130 | 1183 | <autoresizingMask key="autoresizingMask"/> |
1131 | 1184 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="8PR-k0-hwX" id="Bb0-oI-ccB"> |
1132 | - <rect key="frame" x="0.0" y="0.0" width="375" height="177"/> | |
1185 | + <rect key="frame" x="0.0" y="0.0" width="375" height="178"/> | |
1133 | 1186 | <autoresizingMask key="autoresizingMask"/> |
1134 | 1187 | <subviews> |
1135 | 1188 | <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="m0I-jk-Iru"> |
... | ... | @@ -1208,7 +1261,7 @@ |
1208 | 1261 | </constraints> |
1209 | 1262 | </view> |
1210 | 1263 | <tabBarItem key="tabBarItem" tag="3" title="电视台" id="s3g-mh-Xtl"/> |
1211 | - <navigationItem key="navigationItem" id="4l0-y8-1gT"/> | |
1264 | + <navigationItem key="navigationItem" title="电视台" id="lwd-0v-qoO"/> | |
1212 | 1265 | <connections> |
1213 | 1266 | <outlet property="tableView" destination="IhH-sz-Bd2" id="ut2-uV-tkE"/> |
1214 | 1267 | </connections> |
... | ... | @@ -1236,6 +1289,233 @@ |
1236 | 1289 | </objects> |
1237 | 1290 | <point key="canvasLocation" x="-1838" y="1415"/> |
1238 | 1291 | </scene> |
1292 | + <!--微课--> | |
1293 | + <scene sceneID="79n-r8-6SR"> | |
1294 | + <objects> | |
1295 | + <viewController automaticallyAdjustsScrollViewInsets="NO" id="VUr-8w-9Ht" customClass="MicroCourseViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController"> | |
1296 | + <layoutGuides> | |
1297 | + <viewControllerLayoutGuide type="top" id="Laj-Zw-b49"/> | |
1298 | + <viewControllerLayoutGuide type="bottom" id="42u-nx-d5t"/> | |
1299 | + </layoutGuides> | |
1300 | + <view key="view" contentMode="scaleToFill" id="xBZ-wH-l5a"> | |
1301 | + <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | |
1302 | + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | |
1303 | + <subviews> | |
1304 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="lPK-PF-JgI"> | |
1305 | + <rect key="frame" x="0.0" y="108" width="375" height="50"/> | |
1306 | + <subviews> | |
1307 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0HY-Rz-WhJ"> | |
1308 | + <rect key="frame" x="8" y="16" width="4" height="18"/> | |
1309 | + <fontDescription key="fontDescription" type="system" pointSize="15"/> | |
1310 | + <nil key="textColor"/> | |
1311 | + <nil key="highlightedColor"/> | |
1312 | + </label> | |
1313 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="4xl-zG-lqH"> | |
1314 | + <rect key="frame" x="310" y="10" width="57" height="30"/> | |
1315 | + <constraints> | |
1316 | + <constraint firstAttribute="height" constant="30" id="xBx-gX-mw4"/> | |
1317 | + </constraints> | |
1318 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
1319 | + <state key="normal" title="筛选" image="starLive"> | |
1320 | + <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | |
1321 | + </state> | |
1322 | + </button> | |
1323 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="T2j-JJ-ft5"> | |
1324 | + <rect key="frame" x="245" y="14" width="57" height="22"/> | |
1325 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
1326 | + <state key="normal" title="排序" image="starLive"> | |
1327 | + <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | |
1328 | + </state> | |
1329 | + </button> | |
1330 | + </subviews> | |
1331 | + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> | |
1332 | + <constraints> | |
1333 | + <constraint firstItem="4xl-zG-lqH" firstAttribute="leading" secondItem="T2j-JJ-ft5" secondAttribute="trailing" constant="8" id="5PE-bJ-7gA"/> | |
1334 | + <constraint firstItem="0HY-Rz-WhJ" firstAttribute="leading" secondItem="lPK-PF-JgI" secondAttribute="leading" constant="8" id="6JE-7G-RGu"/> | |
1335 | + <constraint firstItem="0HY-Rz-WhJ" firstAttribute="centerY" secondItem="lPK-PF-JgI" secondAttribute="centerY" id="9D4-TG-1g8"/> | |
1336 | + <constraint firstAttribute="trailing" secondItem="4xl-zG-lqH" secondAttribute="trailing" constant="8" id="Cdo-PV-fQ7"/> | |
1337 | + <constraint firstAttribute="height" constant="50" id="HmH-xv-An6"/> | |
1338 | + <constraint firstItem="T2j-JJ-ft5" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="0HY-Rz-WhJ" secondAttribute="trailing" constant="8" id="agG-vQ-QPp"/> | |
1339 | + <constraint firstItem="T2j-JJ-ft5" firstAttribute="centerY" secondItem="lPK-PF-JgI" secondAttribute="centerY" id="bcz-kZ-cO2"/> | |
1340 | + <constraint firstItem="4xl-zG-lqH" firstAttribute="centerY" secondItem="lPK-PF-JgI" secondAttribute="centerY" id="pAW-vr-qJ8"/> | |
1341 | + </constraints> | |
1342 | + </view> | |
1343 | + <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="143" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="8oF-hk-183"> | |
1344 | + <rect key="frame" x="0.0" y="158" width="375" height="460"/> | |
1345 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
1346 | + <view key="tableFooterView" contentMode="scaleToFill" id="DCR-ac-r7t"> | |
1347 | + <rect key="frame" x="0.0" y="171" width="375" height="1"/> | |
1348 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
1349 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
1350 | + </view> | |
1351 | + <prototypes> | |
1352 | + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="identifier" rowHeight="143" id="IlC-3c-gI6" customClass="MicroCourseViewControllerTableViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> | |
1353 | + <rect key="frame" x="0.0" y="28" width="375" height="143"/> | |
1354 | + <autoresizingMask key="autoresizingMask"/> | |
1355 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="IlC-3c-gI6" id="UCf-3H-9B1"> | |
1356 | + <rect key="frame" x="0.0" y="0.0" width="375" height="143"/> | |
1357 | + <autoresizingMask key="autoresizingMask"/> | |
1358 | + <subviews> | |
1359 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="qia-pR-e6p"> | |
1360 | + <rect key="frame" x="8" y="27" width="90" height="90"/> | |
1361 | + <constraints> | |
1362 | + <constraint firstAttribute="width" secondItem="qia-pR-e6p" secondAttribute="height" multiplier="1:1" id="6Zi-MO-Pqe"/> | |
1363 | + <constraint firstAttribute="width" constant="90" id="NEy-T9-LCS"/> | |
1364 | + </constraints> | |
1365 | + </imageView> | |
1366 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="i7I-v8-vVY"> | |
1367 | + <rect key="frame" x="114" y="32" width="165" height="21"/> | |
1368 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
1369 | + <nil key="textColor"/> | |
1370 | + <nil key="highlightedColor"/> | |
1371 | + </label> | |
1372 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zNu-DX-cwZ"> | |
1373 | + <rect key="frame" x="114" y="61" width="42" height="21"/> | |
1374 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
1375 | + <color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> | |
1376 | + <nil key="highlightedColor"/> | |
1377 | + </label> | |
1378 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vTt-gy-eUu"> | |
1379 | + <rect key="frame" x="114" y="90" width="42" height="21"/> | |
1380 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
1381 | + <color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> | |
1382 | + <nil key="highlightedColor"/> | |
1383 | + </label> | |
1384 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Oz8-OI-zTn"> | |
1385 | + <rect key="frame" x="325" y="90" width="42" height="21"/> | |
1386 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | |
1387 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
1388 | + <nil key="textColor"/> | |
1389 | + <nil key="highlightedColor"/> | |
1390 | + </label> | |
1391 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="jqG-kN-3bx"> | |
1392 | + <rect key="frame" x="287" y="25" width="80" height="35"/> | |
1393 | + <color key="backgroundColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="calibratedRGB"/> | |
1394 | + <constraints> | |
1395 | + <constraint firstAttribute="width" constant="80" id="Alz-7v-3a2"/> | |
1396 | + <constraint firstAttribute="height" constant="35" id="CuG-T4-QtE"/> | |
1397 | + </constraints> | |
1398 | + <state key="normal" title="预览"> | |
1399 | + <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | |
1400 | + </state> | |
1401 | + <connections> | |
1402 | + <action selector="pushDetailVC:" destination="IlC-3c-gI6" eventType="touchUpInside" id="3BZ-om-ppg"/> | |
1403 | + </connections> | |
1404 | + </button> | |
1405 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="anY-xC-gfl"> | |
1406 | + <rect key="frame" x="297" y="91" width="20" height="20"/> | |
1407 | + <constraints> | |
1408 | + <constraint firstAttribute="width" constant="20" id="FKY-fi-PSd"/> | |
1409 | + <constraint firstAttribute="width" secondItem="anY-xC-gfl" secondAttribute="height" multiplier="1:1" id="mbe-Kb-gfh"/> | |
1410 | + </constraints> | |
1411 | + </imageView> | |
1412 | + </subviews> | |
1413 | + <constraints> | |
1414 | + <constraint firstItem="zNu-DX-cwZ" firstAttribute="leading" secondItem="i7I-v8-vVY" secondAttribute="leading" id="Ass-bq-7Zl"/> | |
1415 | + <constraint firstItem="vTt-gy-eUu" firstAttribute="top" secondItem="zNu-DX-cwZ" secondAttribute="bottom" constant="8" id="EPW-Rs-PaM"/> | |
1416 | + <constraint firstItem="jqG-kN-3bx" firstAttribute="centerY" secondItem="i7I-v8-vVY" secondAttribute="centerY" id="FzT-Id-AQY"/> | |
1417 | + <constraint firstItem="zNu-DX-cwZ" firstAttribute="top" secondItem="i7I-v8-vVY" secondAttribute="bottom" constant="8" id="H53-aB-vEZ"/> | |
1418 | + <constraint firstItem="zNu-DX-cwZ" firstAttribute="centerY" secondItem="UCf-3H-9B1" secondAttribute="centerY" id="O4n-ki-c8K"/> | |
1419 | + <constraint firstAttribute="trailing" secondItem="jqG-kN-3bx" secondAttribute="trailing" constant="8" id="XZT-II-opg"/> | |
1420 | + <constraint firstItem="Oz8-OI-zTn" firstAttribute="centerY" secondItem="vTt-gy-eUu" secondAttribute="centerY" id="bae-Ey-mlX"/> | |
1421 | + <constraint firstItem="vTt-gy-eUu" firstAttribute="leading" secondItem="qia-pR-e6p" secondAttribute="trailing" constant="16" id="cFH-UN-Qnu"/> | |
1422 | + <constraint firstItem="jqG-kN-3bx" firstAttribute="leading" secondItem="i7I-v8-vVY" secondAttribute="trailing" constant="8" id="cNZ-nJ-MDk"/> | |
1423 | + <constraint firstItem="qia-pR-e6p" firstAttribute="centerY" secondItem="UCf-3H-9B1" secondAttribute="centerY" id="hob-KD-eVv"/> | |
1424 | + <constraint firstItem="vTt-gy-eUu" firstAttribute="leading" secondItem="i7I-v8-vVY" secondAttribute="leading" id="kOI-Sj-8v1"/> | |
1425 | + <constraint firstAttribute="trailing" secondItem="Oz8-OI-zTn" secondAttribute="trailing" constant="8" id="kfE-GK-2DJ"/> | |
1426 | + <constraint firstItem="qia-pR-e6p" firstAttribute="leading" secondItem="UCf-3H-9B1" secondAttribute="leading" constant="8" id="kx2-7H-uKO"/> | |
1427 | + <constraint firstItem="Oz8-OI-zTn" firstAttribute="leading" secondItem="anY-xC-gfl" secondAttribute="trailing" constant="8" id="pT2-e6-5EY"/> | |
1428 | + <constraint firstItem="anY-xC-gfl" firstAttribute="centerY" secondItem="vTt-gy-eUu" secondAttribute="centerY" id="rfk-nx-qtP"/> | |
1429 | + </constraints> | |
1430 | + </tableViewCellContentView> | |
1431 | + <connections> | |
1432 | + <outlet property="downLoadCountLabel" destination="Oz8-OI-zTn" id="sKQ-bv-sBt"/> | |
1433 | + <outlet property="iconImageView" destination="qia-pR-e6p" id="Sjz-Ns-eLD"/> | |
1434 | + <outlet property="timeLabel" destination="vTt-gy-eUu" id="P8r-uE-wDA"/> | |
1435 | + <outlet property="titleLabel" destination="i7I-v8-vVY" id="pfz-yx-JR0"/> | |
1436 | + <outlet property="updateTeacherLabel" destination="zNu-DX-cwZ" id="dI3-Y7-cVY"/> | |
1437 | + </connections> | |
1438 | + </tableViewCell> | |
1439 | + </prototypes> | |
1440 | + <connections> | |
1441 | + <outlet property="dataSource" destination="VUr-8w-9Ht" id="m6b-QU-EJf"/> | |
1442 | + <outlet property="delegate" destination="VUr-8w-9Ht" id="bYV-x9-9gZ"/> | |
1443 | + </connections> | |
1444 | + </tableView> | |
1445 | + <view hidden="YES" alpha="0.30000001192092896" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oeL-YH-vse"> | |
1446 | + <rect key="frame" x="0.0" y="64" width="375" height="554"/> | |
1447 | + <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> | |
1448 | + <gestureRecognizers/> | |
1449 | + <connections> | |
1450 | + <outletCollection property="gestureRecognizers" destination="8sK-Sj-kmY" appends="YES" id="KFj-3I-QoP"/> | |
1451 | + </connections> | |
1452 | + </view> | |
1453 | + <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="Yg9-Z1-sYr"> | |
1454 | + <rect key="frame" x="0.0" y="64" width="375" height="44"/> | |
1455 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
1456 | + <constraints> | |
1457 | + <constraint firstAttribute="height" constant="44" id="s3i-TZ-HsX"/> | |
1458 | + </constraints> | |
1459 | + <prototypes> | |
1460 | + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="cell" id="OoX-sY-EJ0"> | |
1461 | + <rect key="frame" x="0.0" y="28" width="375" height="44"/> | |
1462 | + <autoresizingMask key="autoresizingMask"/> | |
1463 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="OoX-sY-EJ0" id="cE2-H1-hR9"> | |
1464 | + <rect key="frame" x="0.0" y="0.0" width="375" height="43"/> | |
1465 | + <autoresizingMask key="autoresizingMask"/> | |
1466 | + </tableViewCellContentView> | |
1467 | + </tableViewCell> | |
1468 | + </prototypes> | |
1469 | + <connections> | |
1470 | + <outlet property="dataSource" destination="VUr-8w-9Ht" id="GQe-Yj-UHr"/> | |
1471 | + <outlet property="delegate" destination="VUr-8w-9Ht" id="ZYz-Kt-cgh"/> | |
1472 | + </connections> | |
1473 | + </tableView> | |
1474 | + </subviews> | |
1475 | + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> | |
1476 | + <constraints> | |
1477 | + <constraint firstItem="42u-nx-d5t" firstAttribute="top" secondItem="8oF-hk-183" secondAttribute="bottom" id="1yo-Qy-DQK"/> | |
1478 | + <constraint firstAttribute="trailing" secondItem="lPK-PF-JgI" secondAttribute="trailing" id="6hx-sN-wTU"/> | |
1479 | + <constraint firstItem="8oF-hk-183" firstAttribute="top" secondItem="lPK-PF-JgI" secondAttribute="bottom" id="BDa-XJ-LSu"/> | |
1480 | + <constraint firstItem="8oF-hk-183" firstAttribute="leading" secondItem="xBZ-wH-l5a" secondAttribute="leading" id="C7J-5R-PYq"/> | |
1481 | + <constraint firstItem="lPK-PF-JgI" firstAttribute="top" secondItem="Laj-Zw-b49" secondAttribute="bottom" constant="44" id="CEn-Bg-nNB"/> | |
1482 | + <constraint firstItem="Yg9-Z1-sYr" firstAttribute="leading" secondItem="xBZ-wH-l5a" secondAttribute="leading" id="GrW-hf-xZM"/> | |
1483 | + <constraint firstItem="42u-nx-d5t" firstAttribute="top" secondItem="oeL-YH-vse" secondAttribute="bottom" id="J26-Py-ZAB"/> | |
1484 | + <constraint firstAttribute="trailing" secondItem="8oF-hk-183" secondAttribute="trailing" id="RHq-uI-I05"/> | |
1485 | + <constraint firstItem="oeL-YH-vse" firstAttribute="top" secondItem="Laj-Zw-b49" secondAttribute="bottom" id="Uct-5h-aXd"/> | |
1486 | + <constraint firstItem="oeL-YH-vse" firstAttribute="leading" secondItem="xBZ-wH-l5a" secondAttribute="leading" id="VHh-4q-p5A"/> | |
1487 | + <constraint firstAttribute="trailing" secondItem="oeL-YH-vse" secondAttribute="trailing" id="gfN-Gs-rxt"/> | |
1488 | + <constraint firstAttribute="trailing" secondItem="Yg9-Z1-sYr" secondAttribute="trailing" id="jdR-Zl-EUe"/> | |
1489 | + <constraint firstItem="lPK-PF-JgI" firstAttribute="leading" secondItem="xBZ-wH-l5a" secondAttribute="leading" id="jx1-xS-L8s"/> | |
1490 | + <constraint firstItem="Yg9-Z1-sYr" firstAttribute="top" secondItem="Laj-Zw-b49" secondAttribute="bottom" id="sau-r2-QN3"/> | |
1491 | + </constraints> | |
1492 | + </view> | |
1493 | + <navigationItem key="navigationItem" title="微课" id="Lae-MV-KD3"/> | |
1494 | + <connections> | |
1495 | + <outlet property="grayView" destination="oeL-YH-vse" id="BIQ-VX-L39"/> | |
1496 | + <outlet property="searchDisplayController" destination="k0q-9e-h1a" id="gOP-tZ-Dkg"/> | |
1497 | + <outlet property="searchTableHeight" destination="s3i-TZ-HsX" id="KmT-xe-n12"/> | |
1498 | + <outlet property="searchTableView" destination="Yg9-Z1-sYr" id="Kd3-AM-8Bo"/> | |
1499 | + <outlet property="tableView" destination="8oF-hk-183" id="Nph-zZ-Dw1"/> | |
1500 | + </connections> | |
1501 | + </viewController> | |
1502 | + <placeholder placeholderIdentifier="IBFirstResponder" id="ke0-TQ-V4A" userLabel="First Responder" sceneMemberID="firstResponder"/> | |
1503 | + <searchDisplayController id="OBp-V3-aA1"> | |
1504 | + <connections> | |
1505 | + <outlet property="delegate" destination="VUr-8w-9Ht" id="5WH-a0-hwZ"/> | |
1506 | + <outlet property="searchContentsController" destination="VUr-8w-9Ht" id="BVs-1N-QBz"/> | |
1507 | + <outlet property="searchResultsDataSource" destination="VUr-8w-9Ht" id="uls-gM-d1p"/> | |
1508 | + <outlet property="searchResultsDelegate" destination="VUr-8w-9Ht" id="xj5-eO-hc3"/> | |
1509 | + </connections> | |
1510 | + </searchDisplayController> | |
1511 | + <tapGestureRecognizer id="8sK-Sj-kmY"> | |
1512 | + <connections> | |
1513 | + <action selector="cancleSearchActivit:" destination="VUr-8w-9Ht" id="qlk-qa-KJe"/> | |
1514 | + </connections> | |
1515 | + </tapGestureRecognizer> | |
1516 | + </objects> | |
1517 | + <point key="canvasLocation" x="-340" y="2112.5937031484259"/> | |
1518 | + </scene> | |
1239 | 1519 | </scenes> |
1240 | 1520 | <resources> |
1241 | 1521 | <image name="arrow" width="33" height="33"/> | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/HomePage/HomePage.storyboard
1 | -<?xml version="1.0" encoding="UTF-8"?> | |
2 | -<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11762" systemVersion="16A323" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> | |
1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11762" systemVersion="15G1217" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> | |
3 | 3 | <device id="retina4_7" orientation="portrait"> |
4 | 4 | <adaptation id="fullscreen"/> |
5 | 5 | </device> |
6 | 6 | <dependencies> |
7 | 7 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11757"/> |
8 | + <capability name="Constraints to layout margins" minToolsVersion="6.0"/> | |
8 | 9 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
9 | 10 | </dependencies> |
10 | 11 | <scenes> |
11 | - <!--View Controller--> | |
12 | - <scene sceneID="eHj-Hl-wWx"> | |
12 | + <!--排行--> | |
13 | + <scene sceneID="dY5-uz-H10"> | |
13 | 14 | <objects> |
14 | - <viewController id="LjZ-4M-CWC" sceneMemberID="viewController"> | |
15 | - <layoutGuides> | |
16 | - <viewControllerLayoutGuide type="top" id="yeh-XP-HPd"/> | |
17 | - <viewControllerLayoutGuide type="bottom" id="vkl-Ah-CiJ"/> | |
18 | - </layoutGuides> | |
19 | - <view key="view" contentMode="scaleToFill" id="Hyp-9a-Mci"> | |
15 | + <tableViewController storyboardIdentifier="RankingTableViewController" automaticallyAdjustsScrollViewInsets="NO" hidesBottomBarWhenPushed="YES" id="xTw-6t-Upd" customClass="RankingTableViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController"> | |
16 | + <tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="339" sectionHeaderHeight="28" sectionFooterHeight="28" id="o1U-D1-qqQ"> | |
20 | 17 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> |
21 | 18 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
22 | - <subviews> | |
23 | - <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="157" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="YOa-J8-2UM"> | |
24 | - <rect key="frame" x="0.0" y="20" width="375" height="647"/> | |
25 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
26 | - <prototypes> | |
27 | - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="157" id="SLW-Wm-iau"> | |
28 | - <rect key="frame" x="0.0" y="28" width="375" height="157"/> | |
29 | - <autoresizingMask key="autoresizingMask"/> | |
30 | - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="SLW-Wm-iau" id="QXN-J0-KgA"> | |
31 | - <rect key="frame" x="0.0" y="0.0" width="375" height="157"/> | |
32 | - <autoresizingMask key="autoresizingMask"/> | |
19 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
20 | + <prototypes> | |
21 | + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="ItemTableViewCell" rowHeight="339" id="cns-vb-pIQ" customClass="ItemTableViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> | |
22 | + <rect key="frame" x="0.0" y="28" width="375" height="339"/> | |
23 | + <autoresizingMask key="autoresizingMask"/> | |
24 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="cns-vb-pIQ" id="88M-wr-UJ8"> | |
25 | + <rect key="frame" x="0.0" y="0.0" width="375" height="339"/> | |
26 | + <autoresizingMask key="autoresizingMask"/> | |
27 | + <subviews> | |
28 | + <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="学校排行" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EZa-z2-arr"> | |
29 | + <rect key="frame" x="8" y="15" width="65.5" height="19.5"/> | |
30 | + <fontDescription key="fontDescription" type="system" pointSize="16"/> | |
31 | + <nil key="textColor"/> | |
32 | + <nil key="highlightedColor"/> | |
33 | + </label> | |
34 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ckB-W3-VJE"> | |
35 | + <rect key="frame" x="0.0" y="44" width="375" height="44"/> | |
33 | 36 | <subviews> |
34 | - <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="PAj-p1-GN4"> | |
35 | - <rect key="frame" x="8" y="4" width="359" height="148.5"/> | |
36 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
37 | - <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="0.0" minimumInteritemSpacing="0.0" id="Yxz-uf-KtO"> | |
38 | - <size key="itemSize" width="111" height="147"/> | |
39 | - <size key="headerReferenceSize" width="0.0" height="0.0"/> | |
40 | - <size key="footerReferenceSize" width="0.0" height="0.0"/> | |
41 | - <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/> | |
42 | - </collectionViewFlowLayout> | |
43 | - <cells> | |
44 | - <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="Azu-vg-rrB"> | |
45 | - <rect key="frame" x="0.0" y="0.0" width="111" height="147"/> | |
46 | - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
47 | - <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> | |
48 | - <rect key="frame" x="0.0" y="0.0" width="111" height="147"/> | |
49 | - <autoresizingMask key="autoresizingMask"/> | |
50 | - </view> | |
51 | - </collectionViewCell> | |
52 | - </cells> | |
53 | - </collectionView> | |
37 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="综合排名" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SaW-7O-OkT"> | |
38 | + <rect key="frame" x="18" y="13" width="61.5" height="18"/> | |
39 | + <fontDescription key="fontDescription" type="system" pointSize="15"/> | |
40 | + <nil key="textColor"/> | |
41 | + <nil key="highlightedColor"/> | |
42 | + </label> | |
43 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="botoom_image" translatesAutoresizingMaskIntoConstraints="NO" id="NNQ-07-hic"> | |
44 | + <rect key="frame" x="352" y="15" width="15" height="15"/> | |
45 | + <constraints> | |
46 | + <constraint firstAttribute="height" constant="15" id="J3l-xy-BQF"/> | |
47 | + <constraint firstAttribute="width" constant="15" id="uel-30-fcR"/> | |
48 | + </constraints> | |
49 | + </imageView> | |
50 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ss9-IN-p7o"> | |
51 | + <rect key="frame" x="331" y="0.0" width="44" height="44"/> | |
52 | + <constraints> | |
53 | + <constraint firstAttribute="width" constant="44" id="i7f-rP-uMp"/> | |
54 | + </constraints> | |
55 | + <connections> | |
56 | + <action selector="openOrCloseAction:" destination="cns-vb-pIQ" eventType="touchUpInside" id="pnJ-fx-YyR"/> | |
57 | + </connections> | |
58 | + </button> | |
54 | 59 | </subviews> |
60 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
55 | 61 | <constraints> |
56 | - <constraint firstItem="PAj-p1-GN4" firstAttribute="top" secondItem="QXN-J0-KgA" secondAttribute="top" constant="4" id="5zz-bd-O6i"/> | |
57 | - <constraint firstItem="PAj-p1-GN4" firstAttribute="leading" secondItem="QXN-J0-KgA" secondAttribute="leading" constant="8" id="8MC-Zz-u5f"/> | |
58 | - <constraint firstAttribute="trailing" secondItem="PAj-p1-GN4" secondAttribute="trailing" constant="8" id="sTQ-kz-OzQ"/> | |
59 | - <constraint firstAttribute="bottom" secondItem="PAj-p1-GN4" secondAttribute="bottom" constant="4" id="w43-em-me9"/> | |
62 | + <constraint firstItem="NNQ-07-hic" firstAttribute="centerY" secondItem="ckB-W3-VJE" secondAttribute="centerY" id="0Rf-nE-jAo"/> | |
63 | + <constraint firstAttribute="trailing" secondItem="NNQ-07-hic" secondAttribute="trailing" constant="8" id="6G8-VB-s2n"/> | |
64 | + <constraint firstAttribute="bottom" secondItem="ss9-IN-p7o" secondAttribute="bottom" id="PLC-c5-EFr"/> | |
65 | + <constraint firstAttribute="height" constant="44" id="Wyr-GU-aaT"/> | |
66 | + <constraint firstAttribute="trailing" secondItem="ss9-IN-p7o" secondAttribute="trailing" id="aAO-V3-sgD"/> | |
67 | + <constraint firstItem="ss9-IN-p7o" firstAttribute="top" secondItem="ckB-W3-VJE" secondAttribute="top" id="bxF-ra-1Fc"/> | |
68 | + <constraint firstItem="SaW-7O-OkT" firstAttribute="centerY" secondItem="ckB-W3-VJE" secondAttribute="centerY" id="ne0-jg-T5L"/> | |
69 | + <constraint firstItem="SaW-7O-OkT" firstAttribute="leading" secondItem="ckB-W3-VJE" secondAttribute="leading" constant="18" id="wS7-H2-6Hb"/> | |
60 | 70 | </constraints> |
61 | - </tableViewCellContentView> | |
62 | - </tableViewCell> | |
63 | - </prototypes> | |
64 | - </tableView> | |
65 | - </subviews> | |
66 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
67 | - <constraints> | |
68 | - <constraint firstItem="YOa-J8-2UM" firstAttribute="leading" secondItem="Hyp-9a-Mci" secondAttribute="leading" id="7D9-Dd-nwr"/> | |
69 | - <constraint firstItem="vkl-Ah-CiJ" firstAttribute="top" secondItem="YOa-J8-2UM" secondAttribute="bottom" id="KeN-hy-x2G"/> | |
70 | - <constraint firstItem="YOa-J8-2UM" firstAttribute="top" secondItem="yeh-XP-HPd" secondAttribute="bottom" id="d83-an-LAU"/> | |
71 | - <constraint firstAttribute="trailing" secondItem="YOa-J8-2UM" secondAttribute="trailing" id="kit-ZG-l6n"/> | |
72 | - </constraints> | |
73 | - </view> | |
74 | - </viewController> | |
75 | - <placeholder placeholderIdentifier="IBFirstResponder" id="AHa-9V-Fv6" userLabel="First Responder" sceneMemberID="firstResponder"/> | |
71 | + </view> | |
72 | + <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="M9F-0f-7Zj"> | |
73 | + <rect key="frame" x="0.0" y="88" width="375" height="251"/> | |
74 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
75 | + <prototypes> | |
76 | + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="cell" selectionStyle="default" indentationWidth="10" reuseIdentifier="cell" id="deq-A6-QAT"> | |
77 | + <rect key="frame" x="0.0" y="28" width="375" height="44"/> | |
78 | + <autoresizingMask key="autoresizingMask"/> | |
79 | + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="deq-A6-QAT" id="jel-9N-Twh"> | |
80 | + <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> | |
81 | + <autoresizingMask key="autoresizingMask"/> | |
82 | + </tableViewCellContentView> | |
83 | + </tableViewCell> | |
84 | + </prototypes> | |
85 | + <connections> | |
86 | + <outlet property="dataSource" destination="cns-vb-pIQ" id="UYa-xu-7SP"/> | |
87 | + <outlet property="delegate" destination="cns-vb-pIQ" id="XE2-JN-ndb"/> | |
88 | + </connections> | |
89 | + </tableView> | |
90 | + </subviews> | |
91 | + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> | |
92 | + <constraints> | |
93 | + <constraint firstItem="M9F-0f-7Zj" firstAttribute="leading" secondItem="88M-wr-UJ8" secondAttribute="leading" id="05H-J5-3ft"/> | |
94 | + <constraint firstItem="ckB-W3-VJE" firstAttribute="leading" secondItem="88M-wr-UJ8" secondAttribute="leading" id="Llv-Cj-qUv"/> | |
95 | + <constraint firstItem="EZa-z2-arr" firstAttribute="top" secondItem="88M-wr-UJ8" secondAttribute="topMargin" constant="7" id="Y6P-C4-Lnh"/> | |
96 | + <constraint firstItem="ckB-W3-VJE" firstAttribute="top" secondItem="88M-wr-UJ8" secondAttribute="top" constant="44" id="YYa-p3-V5Z"/> | |
97 | + <constraint firstAttribute="trailing" secondItem="M9F-0f-7Zj" secondAttribute="trailing" id="Zee-lj-9ac"/> | |
98 | + <constraint firstAttribute="bottom" secondItem="M9F-0f-7Zj" secondAttribute="bottom" id="gJP-sa-9DJ"/> | |
99 | + <constraint firstAttribute="trailing" secondItem="ckB-W3-VJE" secondAttribute="trailing" id="grJ-oO-BaR"/> | |
100 | + <constraint firstAttribute="leadingMargin" secondItem="EZa-z2-arr" secondAttribute="leading" id="pPi-1h-WTn"/> | |
101 | + <constraint firstItem="M9F-0f-7Zj" firstAttribute="top" secondItem="ckB-W3-VJE" secondAttribute="bottom" id="seG-Ge-GIf"/> | |
102 | + </constraints> | |
103 | + </tableViewCellContentView> | |
104 | + <connections> | |
105 | + <outlet property="sectionTitleLabel" destination="EZa-z2-arr" id="riK-aS-fgl"/> | |
106 | + <outlet property="subTableView" destination="M9F-0f-7Zj" id="TzF-ki-ccn"/> | |
107 | + <outlet property="tableViewButtom" destination="gJP-sa-9DJ" id="hjD-Q3-nGW"/> | |
108 | + <outlet property="titleImageView" destination="NNQ-07-hic" id="FDL-Do-NZC"/> | |
109 | + <outlet property="titleLabel" destination="SaW-7O-OkT" id="sqD-nr-S3a"/> | |
110 | + <outlet property="titleViewTop" destination="YYa-p3-V5Z" id="hok-Ka-n3E"/> | |
111 | + </connections> | |
112 | + </tableViewCell> | |
113 | + </prototypes> | |
114 | + <sections/> | |
115 | + <connections> | |
116 | + <outlet property="dataSource" destination="xTw-6t-Upd" id="k4J-Ub-G0Z"/> | |
117 | + <outlet property="delegate" destination="xTw-6t-Upd" id="9YG-mr-onA"/> | |
118 | + </connections> | |
119 | + </tableView> | |
120 | + <navigationItem key="navigationItem" title="排行" id="JPt-wk-Pdj"/> | |
121 | + <simulatedNavigationBarMetrics key="simulatedTopBarMetrics" prompted="NO"/> | |
122 | + </tableViewController> | |
123 | + <placeholder placeholderIdentifier="IBFirstResponder" id="mqx-56-Al8" userLabel="First Responder" sceneMemberID="firstResponder"/> | |
76 | 124 | </objects> |
77 | - <point key="canvasLocation" x="164" y="253.2233883058471"/> | |
125 | + <point key="canvasLocation" x="196" y="260.41979010494754"/> | |
78 | 126 | </scene> |
79 | 127 | </scenes> |
128 | + <resources> | |
129 | + <image name="botoom_image" width="48" height="48"/> | |
130 | + </resources> | |
80 | 131 | </document> | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/HomePage/MainHomeTableViewController.swift
... | ... | @@ -21,7 +21,7 @@ class MainHomeTableViewController: UITableViewController { |
21 | 21 | func settingIconAndTitle(){ |
22 | 22 | let photo=UIImageView(frame: CGRect(x: 0, y: 0, width: 35, height: 35)) |
23 | 23 | photo.sd_setImage(with: URL(string: current.photo()), placeholderImage: UIImage(named: "defphoto")) |
24 | - photo.layer.cornerRadius=5 | |
24 | + photo.layer.cornerRadius=35/2 | |
25 | 25 | photo.layer.masksToBounds=true |
26 | 26 | let leftBarButtonItem=UIBarButtonItem(customView: photo) |
27 | 27 | self.navigationItem.leftBarButtonItem=leftBarButtonItem |
... | ... | @@ -80,12 +80,14 @@ class MainHomeTableViewController: UITableViewController { |
80 | 80 | return 4 |
81 | 81 | } |
82 | 82 | override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { |
83 | - if indexPath.row==0 || indexPath.row==1{ | |
84 | - return (getScreenWidth()-16)/2+86 | |
83 | + if indexPath.row==0{ | |
84 | + return (getScreenWidth()-45)/2/33*25+80 | |
85 | + }else if indexPath.row==1{ | |
86 | + return (getScreenWidth()-45)/2/33*16+132 | |
85 | 87 | }else if indexPath.row==2{ |
86 | - return (getScreenWidth()-16)/3+103+86 | |
88 | + return (getScreenWidth()-40)/3+170.5 | |
87 | 89 | }else{ |
88 | - return (getScreenWidth()-30)/3+30+86 | |
90 | + return (getScreenWidth()-40)/3+110 | |
89 | 91 | } |
90 | 92 | } |
91 | 93 | override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { |
... | ... | @@ -111,6 +113,11 @@ class MainHomeTableViewController: UITableViewController { |
111 | 113 | */ |
112 | 114 | override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { |
113 | 115 | NSLog("点击了第\(indexPath.row)个cell") |
116 | + if indexPath.row==0{ | |
117 | + //排行 | |
118 | + let vc = UIStoryboard(name: "HomePage", bundle: nil).instantiateViewController(withIdentifier: "RankingTableViewController") as! RankingTableViewController | |
119 | + self.navigationController?.pushViewController(vc, animated: true) | |
120 | + } | |
114 | 121 | } |
115 | 122 | |
116 | 123 | |
... | ... | @@ -148,7 +155,7 @@ class HomeFirstTableViewCell: UITableViewCell,UICollectionViewDelegate,UICollect |
148 | 155 | } |
149 | 156 | } |
150 | 157 | func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { |
151 | - return CGSize(width: (getScreenWidth()-16)/2, height: (getScreenWidth()-16)/2) | |
158 | + return CGSize(width: (getScreenWidth()-45)/2, height: (getScreenWidth()-45)/2/33*25) | |
152 | 159 | } |
153 | 160 | |
154 | 161 | func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { |
... | ... | @@ -202,7 +209,7 @@ class HomeSecondTableViewCell: UITableViewCell,UICollectionViewDelegate,UICollec |
202 | 209 | NSLog("点击了****\(dataSet[indexPath.row])") |
203 | 210 | } |
204 | 211 | func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { |
205 | - return CGSize(width: (getScreenWidth()-16)/2, height: (getScreenWidth()-16)/2) | |
212 | + return CGSize(width: (getScreenWidth()-45)/2, height: ((getScreenWidth()-45)/2/33*16+67)) | |
206 | 213 | } |
207 | 214 | func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { |
208 | 215 | return dataSet.count |
... | ... | @@ -324,7 +331,7 @@ class HomeThirdTableViewCell: UITableViewCell,UICollectionViewDelegate,UICollect |
324 | 331 | NSLog("点击了****\(dataSet[indexPath.row])") |
325 | 332 | } |
326 | 333 | func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { |
327 | - return CGSize(width: (getScreenWidth()-16)/3, height: (getScreenWidth()-16)/3+103) | |
334 | + return CGSize(width: (getScreenWidth()-40)/3, height: (getScreenWidth()-40)/3+105.5) | |
328 | 335 | } |
329 | 336 | func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { |
330 | 337 | return dataSet.count |
... | ... | @@ -383,7 +390,7 @@ class HomeFourTableViewCell: UITableViewCell,UICollectionViewDelegate,UICollecti |
383 | 390 | NSLog("点击了****\(dataSet[indexPath.row])") |
384 | 391 | } |
385 | 392 | func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { |
386 | - return CGSize(width: (getScreenWidth()-32)/3, height: (getScreenWidth()-32)/3+30) | |
393 | + return CGSize(width: (getScreenWidth()-40)/3, height: (getScreenWidth()-40)/3+30) | |
387 | 394 | } |
388 | 395 | func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { |
389 | 396 | return dataSet.count | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/HomePage/RankingTableViewController.swift
0 → 100644
... | ... | @@ -0,0 +1,279 @@ |
1 | +// | |
2 | +// RankingTableViewController.swift | |
3 | +// YouerLiveVideo | |
4 | +// | |
5 | +// Created by 葛建军 on 17/5/20. | |
6 | +// Copyright © 2017年 左丞. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +import UIKit | |
10 | + | |
11 | +class RankingTableViewController: UITableViewController { | |
12 | + var openIndexAry:[Int]=[0,4] //记录那些是展开状态 | |
13 | + var allDic:[Int:[String]]=Dictionary<Int,[String]>() | |
14 | + var ary:[String]=["综合排名","资源贡献","下载排名","阅读排名","综合排名","资源贡献","下载排名","阅读排名"] | |
15 | + override func viewDidLoad() { | |
16 | + super.viewDidLoad() | |
17 | + getAllSubRankings() | |
18 | + } | |
19 | + func getAllSubRankings(){ | |
20 | + for i in 0..<8{ | |
21 | + allDic.updateValue([], forKey: i) | |
22 | + } | |
23 | + AppDelegate.instance().httpServer.getSchoolGeneral { (str, error) in | |
24 | + if error==nil { | |
25 | + if JSON.fromString(jsonString: str)!["status"].intValue == 1{ | |
26 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | |
27 | + var lineAry:[String]=[] | |
28 | + for item in JSON.fromString(jsonString: str)!["data"].arrayValue { | |
29 | + lineAry.append(item["f_SchoolName"].stringValue) | |
30 | + } | |
31 | + self.allDic.updateValue(lineAry, forKey: 0) | |
32 | + self.tableView.reloadData() | |
33 | + }, failHandler: { (error) in | |
34 | + self.view.makeToast("排名失败:\(error.localizedDescription)") | |
35 | + }) | |
36 | + }else{ | |
37 | + self.view.makeToast("获取排名失败:\(JSON.fromString(jsonString: str)!["message"].stringValue)") | |
38 | + } | |
39 | + }else{ | |
40 | + self.view.makeToast("获取排名失败:\(error!.description)") | |
41 | + } | |
42 | + } | |
43 | + AppDelegate.instance().httpServer.getSchoolUpload { (str, error) in | |
44 | + if error==nil { | |
45 | + if JSON.fromString(jsonString: str)!["status"].intValue == 1{ | |
46 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | |
47 | + var lineAry:[String]=[] | |
48 | + for item in JSON.fromString(jsonString: str)!["data"].arrayValue { | |
49 | + lineAry.append(item["f_SchoolName"].stringValue) | |
50 | + } | |
51 | + self.allDic.updateValue(lineAry, forKey: 1) | |
52 | + self.tableView.reloadData() | |
53 | + }, failHandler: { (error) in | |
54 | + self.view.makeToast("排名失败:\(error.localizedDescription)") | |
55 | + }) | |
56 | + }else{ | |
57 | + self.view.makeToast("获取排名失败:\(JSON.fromString(jsonString: str)!["message"].stringValue)") | |
58 | + } | |
59 | + }else{ | |
60 | + self.view.makeToast("获取排名失败:\(error!.description)") | |
61 | + } | |
62 | + } | |
63 | + AppDelegate.instance().httpServer.getSchoolDownloads { (str, error) in | |
64 | + if error==nil { | |
65 | + if JSON.fromString(jsonString: str)!["status"].intValue == 1{ | |
66 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | |
67 | + var lineAry:[String]=[] | |
68 | + for item in JSON.fromString(jsonString: str)!["data"].arrayValue { | |
69 | + lineAry.append(item["f_SchoolName"].stringValue) | |
70 | + } | |
71 | + self.allDic.updateValue(lineAry, forKey: 2) | |
72 | + self.tableView.reloadData() | |
73 | + }, failHandler: { (error) in | |
74 | + self.view.makeToast("排名失败:\(error.localizedDescription)") | |
75 | + }) | |
76 | + }else{ | |
77 | + self.view.makeToast("获取排名失败:\(JSON.fromString(jsonString: str)!["message"].stringValue)") | |
78 | + } | |
79 | + }else{ | |
80 | + self.view.makeToast("获取排名失败:\(error!.description)") | |
81 | + } | |
82 | + } | |
83 | + AppDelegate.instance().httpServer.getSchoolPv { (str, error) in | |
84 | + if error==nil { | |
85 | + if JSON.fromString(jsonString: str)!["status"].intValue == 1{ | |
86 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | |
87 | + var lineAry:[String]=[] | |
88 | + for item in JSON.fromString(jsonString: str)!["data"].arrayValue { | |
89 | + lineAry.append(item["f_SchoolName"].stringValue) | |
90 | + } | |
91 | + self.allDic.updateValue(lineAry, forKey: 3) | |
92 | + self.tableView.reloadData() | |
93 | + }, failHandler: { (error) in | |
94 | + self.view.makeToast("排名失败:\(error.localizedDescription)") | |
95 | + }) | |
96 | + }else{ | |
97 | + self.view.makeToast("获取排名失败:\(JSON.fromString(jsonString: str)!["message"].stringValue)") | |
98 | + } | |
99 | + }else{ | |
100 | + self.view.makeToast("获取排名失败:\(error!.description)") | |
101 | + } | |
102 | + } | |
103 | + AppDelegate.instance().httpServer.getTeacherGenerals { (str, error) in | |
104 | + if error==nil { | |
105 | + if JSON.fromString(jsonString: str)!["status"].intValue == 1{ | |
106 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | |
107 | + var lineAry:[String]=[] | |
108 | + for item in JSON.fromString(jsonString: str)!["data"].arrayValue { | |
109 | + lineAry.append(item["f_SchoolName"].stringValue) | |
110 | + } | |
111 | + self.allDic.updateValue(lineAry, forKey: 4) | |
112 | + self.tableView.reloadData() | |
113 | + }, failHandler: { (error) in | |
114 | + self.view.makeToast("排名失败:\(error.localizedDescription)") | |
115 | + }) | |
116 | + }else{ | |
117 | + self.view.makeToast("获取排名失败:\(JSON.fromString(jsonString: str)!["message"].stringValue)") | |
118 | + } | |
119 | + }else{ | |
120 | + self.view.makeToast("获取排名失败:\(error!.description)") | |
121 | + } | |
122 | + } | |
123 | + AppDelegate.instance().httpServer.getTeacherUpload { (str, error) in | |
124 | + if error==nil { | |
125 | + if JSON.fromString(jsonString: str)!["status"].intValue == 1{ | |
126 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | |
127 | + var lineAry:[String]=[] | |
128 | + for item in JSON.fromString(jsonString: str)!["data"].arrayValue { | |
129 | + lineAry.append(item["f_SchoolName"].stringValue) | |
130 | + } | |
131 | + self.allDic.updateValue(lineAry, forKey: 5) | |
132 | + self.tableView.reloadData() | |
133 | + }, failHandler: { (error) in | |
134 | + self.view.makeToast("排名失败:\(error.localizedDescription)") | |
135 | + }) | |
136 | + }else{ | |
137 | + self.view.makeToast("获取排名失败:\(JSON.fromString(jsonString: str)!["message"].stringValue)") | |
138 | + } | |
139 | + }else{ | |
140 | + self.view.makeToast("获取排名失败:\(error!.description)") | |
141 | + } | |
142 | + } | |
143 | + AppDelegate.instance().httpServer.getTeacherDownload { (str, error) in | |
144 | + if error==nil { | |
145 | + if JSON.fromString(jsonString: str)!["status"].intValue == 1{ | |
146 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | |
147 | + var lineAry:[String]=[] | |
148 | + for item in JSON.fromString(jsonString: str)!["data"].arrayValue { | |
149 | + lineAry.append(item["f_SchoolName"].stringValue) | |
150 | + } | |
151 | + self.allDic.updateValue(lineAry, forKey: 6) | |
152 | + self.tableView.reloadData() | |
153 | + }, failHandler: { (error) in | |
154 | + self.view.makeToast("排名失败:\(error.localizedDescription)") | |
155 | + }) | |
156 | + }else{ | |
157 | + self.view.makeToast("获取排名失败:\(JSON.fromString(jsonString: str)!["message"].stringValue)") | |
158 | + } | |
159 | + }else{ | |
160 | + self.view.makeToast("获取排名失败:\(error!.description)") | |
161 | + } | |
162 | + } | |
163 | + AppDelegate.instance().httpServer.getTeacherPvs { (str, error) in | |
164 | + if error==nil { | |
165 | + if JSON.fromString(jsonString: str)!["status"].intValue == 1{ | |
166 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | |
167 | + var lineAry:[String]=[] | |
168 | + for item in JSON.fromString(jsonString: str)!["data"].arrayValue { | |
169 | + lineAry.append(item["f_SchoolName"].stringValue) | |
170 | + } | |
171 | + self.allDic.updateValue(lineAry, forKey: 7) | |
172 | + self.tableView.reloadData() | |
173 | + }, failHandler: { (error) in | |
174 | + self.view.makeToast("排名失败:\(error.localizedDescription)") | |
175 | + }) | |
176 | + }else{ | |
177 | + self.view.makeToast("获取排名失败:\(JSON.fromString(jsonString: str)!["message"].stringValue)") | |
178 | + } | |
179 | + }else{ | |
180 | + self.view.makeToast("获取排名失败:\(error!.description)") | |
181 | + } | |
182 | + } | |
183 | + } | |
184 | + override func didReceiveMemoryWarning() { | |
185 | + super.didReceiveMemoryWarning() | |
186 | + } | |
187 | + // MARK: - Table view data source | |
188 | + override func numberOfSections(in tableView: UITableView) -> Int { | |
189 | + return 1 | |
190 | + } | |
191 | + | |
192 | + override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | |
193 | + return 8 | |
194 | + } | |
195 | + override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | |
196 | + var height:CGFloat=44 | |
197 | + if indexPath.row==0 || indexPath.row==4{ | |
198 | + height=height+44 | |
199 | + } | |
200 | + if indexPath.row != 3{ | |
201 | + height=height+20 | |
202 | + } | |
203 | + if openIndexAry.contains(indexPath.row){ | |
204 | + height=height+CGFloat(30*allDic[indexPath.row]!.count) | |
205 | + } | |
206 | + return height | |
207 | + } | |
208 | + override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | |
209 | + let cell=tableView.dequeueReusableCell(withIdentifier: "ItemTableViewCell", for: indexPath) as! ItemTableViewCell | |
210 | + cell.superVC=self | |
211 | + cell.indexPath=indexPath | |
212 | + if indexPath.row==0{ | |
213 | + cell.sectionTitleLabel.text="学校排行" | |
214 | + cell.sectionTitleLabel.isHidden=false | |
215 | + } | |
216 | + if indexPath.row==4{ | |
217 | + cell.sectionTitleLabel.text="教师排行" | |
218 | + cell.sectionTitleLabel.isHidden=false | |
219 | + } | |
220 | + if indexPath.row==0 || indexPath.row==4{ | |
221 | + cell.titleViewTop.constant=44 | |
222 | + }else{ | |
223 | + cell.titleViewTop.constant=0 | |
224 | + } | |
225 | + if indexPath.row==3{ | |
226 | + cell.tableViewButtom.constant=0 | |
227 | + }else{ | |
228 | + cell.tableViewButtom.constant=20 | |
229 | + } | |
230 | + cell.titleLabel.text=ary[indexPath.row] | |
231 | + if openIndexAry.contains(indexPath.row){ | |
232 | + cell.titleImageView.image=UIImage(named: "botoom_image") | |
233 | + }else{ | |
234 | + cell.titleImageView.image=UIImage(named: "top_image") | |
235 | + } | |
236 | + cell.subTableView.reloadData() | |
237 | + return cell | |
238 | + } | |
239 | + | |
240 | +} | |
241 | +class ItemTableViewCell: UITableViewCell,UITableViewDelegate,UITableViewDataSource { | |
242 | + var superVC:RankingTableViewController? | |
243 | + var indexPath:IndexPath! | |
244 | + @IBOutlet var sectionTitleLabel: UILabel! | |
245 | + @IBOutlet var titleViewTop: NSLayoutConstraint! | |
246 | + @IBOutlet var subTableView: UITableView! | |
247 | + @IBOutlet var tableViewButtom: NSLayoutConstraint! | |
248 | + @IBOutlet var titleLabel: UILabel! | |
249 | + @IBOutlet var titleImageView: UIImageView! | |
250 | + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | |
251 | + if superVC != nil { | |
252 | + if superVC!.openIndexAry.contains(indexPath.row){ | |
253 | + return superVC!.allDic[indexPath.row]!.count | |
254 | + }else{ | |
255 | + return 0 | |
256 | + } | |
257 | + }else{ | |
258 | + return 0 | |
259 | + } | |
260 | + } | |
261 | + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | |
262 | + return 30 | |
263 | + } | |
264 | + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | |
265 | + let cell=tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) | |
266 | + if superVC != nil { | |
267 | + cell.textLabel?.text="\(superVC!.allDic[self.indexPath.row]![indexPath.row])" | |
268 | + } | |
269 | + return cell | |
270 | + } | |
271 | + @IBAction func openOrCloseAction(_ sender: UIButton) { | |
272 | + if superVC!.openIndexAry.contains(indexPath.row){ | |
273 | + superVC!.openIndexAry.remove(at: getCurrentIndex(item: indexPath.row, arry: superVC!.openIndexAry)) | |
274 | + }else{ | |
275 | + superVC!.openIndexAry.append(indexPath.row) | |
276 | + } | |
277 | + superVC!.tableView.reloadData() | |
278 | + } | |
279 | +} | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/MViewController.swift
YouerLiveVideo/YouerLiveVideo/controllers/MicroCourse/MicroCourseViewController.swift
... | ... | @@ -8,28 +8,176 @@ |
8 | 8 | |
9 | 9 | import UIKit |
10 | 10 | |
11 | -class MicroCourseViewController: UIViewController { | |
12 | - | |
11 | +class MicroCourseViewController: UIViewController,UITableViewDelegate,UITableViewDataSource,UISearchControllerDelegate,UISearchResultsUpdating { | |
12 | + @IBOutlet var tableView: UITableView! | |
13 | + | |
14 | + @IBOutlet var grayView: UIView! | |
15 | + @IBOutlet var searchTableView: UITableView! | |
16 | + @IBOutlet var searchTableHeight: NSLayoutConstraint! | |
17 | + | |
18 | + var searchController:UISearchController! | |
19 | + var dataSetAry:[String]=["葛建军","张道峰","徐晓杰","左承","段合江"] | |
20 | + var searchAry:[String]=[] | |
21 | + var currentPage:Int=0 //当前页数,每次取十个数据 | |
22 | + var resourceData:[MicroCourseModel]=[] | |
13 | 23 | override func viewDidLoad() { |
14 | 24 | super.viewDidLoad() |
15 | 25 | self.configTheme() |
16 | - // Do any additional setup after loading the view. | |
26 | + addSearchController() | |
27 | + addRefresh() | |
28 | + self.refreshLivesAction(tag: self.currentPage, completionHandler: { (success) in | |
29 | + if success{ | |
30 | + self.tableView.reloadData() | |
31 | + } | |
32 | + }) | |
17 | 33 | } |
18 | - | |
19 | - override func didReceiveMemoryWarning() { | |
20 | - super.didReceiveMemoryWarning() | |
21 | - // Dispose of any resources that can be recreated. | |
34 | + func addSearchController(){ | |
35 | + self.definesPresentationContext=true | |
36 | + searchController=UISearchController(searchResultsController: nil) | |
37 | + searchController.delegate=self | |
38 | + searchController.searchResultsUpdater=self | |
39 | + searchController.searchBar.barTintColor=UIColor.groupTableViewBackground | |
40 | + searchController.searchBar.placeholder="搜索" | |
41 | + //设置UISearchController的显示属性,以下3个属性默认为YES | |
42 | + //搜索时,背景变暗色 | |
43 | + self.searchController.dimsBackgroundDuringPresentation=false | |
44 | + //搜索时,背景变模糊 | |
45 | + // self.searchController.obscuresBackgroundDuringPresentation=false | |
46 | + //点击搜索的时候,是否隐藏导航栏 | |
47 | + // searchController.hidesNavigationBarDuringPresentation=true | |
48 | + //位置 | |
49 | + searchController.searchBar.frame=CGRect(x: self.searchController.searchBar.frame.origin.x, y: self.searchController.searchBar.frame.origin.y, width: self.searchController.searchBar.frame.size.width, height: 44.0); | |
50 | + // self.view.addSubview(searchController.searchBar) | |
51 | + searchTableView.tableHeaderView=searchController.searchBar | |
52 | + } | |
53 | + func addRefresh(){ | |
54 | + let header=MJRefreshNormalHeader(refreshingBlock: { | |
55 | + //下拉刷新 | |
56 | + self.currentPage=0 | |
57 | + self.resourceData.removeAll() | |
58 | + self.refreshLivesAction(tag: self.currentPage, completionHandler: { (success) in | |
59 | + if success{ | |
60 | + self.tableView.reloadData() | |
61 | + } | |
62 | + self.tableView.mj_header.endRefreshing() | |
63 | + }) | |
64 | + }) | |
65 | + header?.lastUpdatedTimeLabel.isHidden=true | |
66 | + tableView.mj_header=header | |
67 | + tableView.mj_footer=MJRefreshBackNormalFooter(refreshingBlock: { | |
68 | + //上拉加载更多 | |
69 | + self.refreshLivesAction(tag: self.currentPage, completionHandler: { (success) in | |
70 | + if success{ | |
71 | + self.tableView.reloadData() | |
72 | + } | |
73 | + self.tableView.mj_footer.endRefreshing() | |
74 | + }) | |
75 | + }) | |
76 | + } | |
77 | + // MARK: - 刷新数据接口 | |
78 | + func refreshLivesAction(tag:Int,completionHandler:@escaping (Bool) -> ()){ | |
79 | + let parameters:Dictionary<String,AnyObject>=["type":0 as AnyObject,"pageIndex":tag as AnyObject,"pageSize":1 as AnyObject] | |
80 | + AppDelegate.instance().httpServer.getHotRescourse(parameters: parameters) { (str, error) in | |
81 | + var success:Bool=true | |
82 | + if error==nil { | |
83 | + if JSON.fromString(jsonString: str)!["status"].intValue == 1{ | |
84 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | |
85 | + if JSON.fromString(jsonString: str)!["data"].arrayValue.count>0{ | |
86 | + self.currentPage+=1 | |
87 | + } | |
88 | + for item in JSON.fromString(jsonString: str)!["data"].arrayValue { | |
89 | + self.resourceData.append(MicroCourseModel(j: item)) | |
90 | + } | |
91 | + success=true | |
92 | + }, failHandler: { (error) in | |
93 | + success=false | |
94 | + appRootViewController().view.makeToast("获取资源失败:\(error.localizedDescription)") | |
95 | + }) | |
96 | + }else{ | |
97 | + success=false | |
98 | + appRootViewController().view.makeToast("获取资源失败:\(JSON.fromString(jsonString: str)!["message"].stringValue)") | |
99 | + } | |
100 | + }else{ | |
101 | + success=false | |
102 | + appRootViewController().view.makeToast("获取资源失败:\(error!.description)") | |
103 | + } | |
104 | + completionHandler(success) | |
105 | + } | |
106 | + } | |
107 | + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | |
108 | + if tableView==searchTableView{ | |
109 | + return searchAry.count | |
110 | + }else{ | |
111 | + return resourceData.count | |
112 | + } | |
113 | + } | |
114 | + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | |
115 | + if tableView==searchTableView { | |
116 | + let cell=tableView.dequeueReusableCell(withIdentifier: "cell") | |
117 | + cell?.textLabel?.text=searchAry[indexPath.row] | |
118 | + return cell! | |
119 | + }else{ | |
120 | + let cell=tableView.dequeueReusableCell(withIdentifier: "identifier") as! MicroCourseViewControllerTableViewCell | |
121 | + cell.superVC=self | |
122 | + cell.setUpWith(item: resourceData[indexPath.row]) | |
123 | + return cell | |
124 | + } | |
125 | + } | |
126 | + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | |
127 | + if tableView==searchTableView { | |
128 | + let vc = UIStoryboard(name: "HomePage", bundle: nil).instantiateViewController(withIdentifier: "RankingTableViewController") as! RankingTableViewController | |
129 | + self.navigationController?.pushViewController(vc, animated: true) | |
130 | + }else{ | |
131 | +// let vc = UIStoryboard(name: "Resource", bundle: nil).instantiateViewController(withIdentifier: "LiveInforViewControllerVC") as! LiveInforViewController | |
132 | +// vc.item=resourceData[indexPath.row] | |
133 | +// self.navigationController?.pushViewController(vc, animated: true) | |
134 | + } | |
135 | + } | |
136 | + //取消键盘输入状态 | |
137 | + @IBAction func cancleSearchActivit(_ sender: UITapGestureRecognizer) { | |
138 | + searchController.isActive=false | |
139 | + } | |
140 | + func willPresentSearchController(_ searchController: UISearchController) { | |
141 | + grayView.isHidden=false | |
142 | + } | |
143 | + func willDismissSearchController(_ searchController: UISearchController) { | |
144 | + searchTableHeight.constant=44 | |
145 | + grayView.isHidden=true | |
146 | + } | |
147 | + //谓词搜索过滤 | |
148 | + func updateSearchResults(for searchController: UISearchController) { | |
149 | + let searchString=searchController.searchBar.text | |
150 | + let predicate=NSPredicate(format: "SELF CONTAINS[c] %@", searchString!) | |
151 | + searchAry=(dataSetAry as NSArray).filtered(using: predicate) as! [String] | |
152 | + if CGFloat((searchAry.count+1)*44)>(getScreenHeight()-64){ | |
153 | + searchTableHeight.constant=getScreenHeight()-64 | |
154 | + }else{ | |
155 | + searchTableHeight.constant=CGFloat((searchAry.count+1)*44) | |
156 | + } | |
157 | + searchTableView.reloadData() | |
22 | 158 | } |
23 | 159 | |
160 | +} | |
24 | 161 | |
25 | - /* | |
26 | - // MARK: - Navigation | |
27 | - | |
28 | - // In a storyboard-based application, you will often want to do a little preparation before navigation | |
29 | - override func prepare(for segue: UIStoryboardSegue, sender: Any?) { | |
30 | - // Get the new view controller using segue.destinationViewController. | |
31 | - // Pass the selected object to the new view controller. | |
162 | +class MicroCourseViewControllerTableViewCell:UITableViewCell{ | |
163 | + @IBOutlet var iconImageView: UIImageView! | |
164 | + @IBOutlet var titleLabel: UILabel! | |
165 | + @IBOutlet var updateTeacherLabel: UILabel! | |
166 | + @IBOutlet var timeLabel: UILabel! | |
167 | + @IBOutlet var downLoadCountLabel: UILabel! | |
168 | + var item:MicroCourseModel! | |
169 | + var superVC:MicroCourseViewController! | |
170 | + func setUpWith(item: MicroCourseModel){ | |
171 | + self.item=item | |
172 | + iconImageView.sd_setImage(with: URL(string: item.f_Img), placeholderImage: UIImage(named: "icon_course_placeholder")) | |
173 | + titleLabel.text=item.f_Title | |
174 | + updateTeacherLabel.text="上传者:\(item.f_CreatorName) 老师" | |
175 | + timeLabel.text=item.f_CreatorTime | |
176 | + downLoadCountLabel.text="\(item.f_DownloadSum)" | |
177 | + } | |
178 | + @IBAction func pushDetailVC(_ sender: UIButton) { | |
179 | + let vc = UIStoryboard(name: "Resource", bundle: nil).instantiateViewController(withIdentifier: "LiveInforViewControllerVC") as! LiveInforViewController | |
180 | + vc.item=item | |
181 | + self.superVC.navigationController!.pushViewController(vc, animated: true) | |
32 | 182 | } |
33 | - */ | |
34 | - | |
35 | 183 | } | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/Resource/FilterViewController.swift
0 → 100644
... | ... | @@ -0,0 +1,34 @@ |
1 | +// | |
2 | +// FilterViewController.swift | |
3 | +// YouerLiveVideo | |
4 | +// | |
5 | +// Created by 葛建军 on 17/5/22. | |
6 | +// Copyright © 2017年 左丞. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +import UIKit | |
10 | + | |
11 | +class FilterViewController: UIViewController { | |
12 | + | |
13 | + override func viewDidLoad() { | |
14 | + super.viewDidLoad() | |
15 | +// AppDelegate.instance().httpServer.postResourceList(parameters: <#T##[String : AnyObject]?#>, completionHandler: <#T##(String?, NSError?) -> ()#>) | |
16 | + } | |
17 | + | |
18 | + override func didReceiveMemoryWarning() { | |
19 | + super.didReceiveMemoryWarning() | |
20 | + // Dispose of any resources that can be recreated. | |
21 | + } | |
22 | + | |
23 | + | |
24 | + /* | |
25 | + // MARK: - Navigation | |
26 | + | |
27 | + // In a storyboard-based application, you will often want to do a little preparation before navigation | |
28 | + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { | |
29 | + // Get the new view controller using segue.destinationViewController. | |
30 | + // Pass the selected object to the new view controller. | |
31 | + } | |
32 | + */ | |
33 | + | |
34 | +} | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/Resource/LiveInforViewController.swift
... | ... | @@ -16,27 +16,26 @@ class LiveInforViewController: UIViewController { |
16 | 16 | @IBOutlet weak var updataPersonPhoto: UIImageView! |
17 | 17 | @IBOutlet weak var updataPersonName: UILabel! |
18 | 18 | @IBOutlet weak var updataTime: UILabel! |
19 | - | |
20 | - var tvStation:TVStationSubject! | |
19 | + var item:MicroCourseModel! | |
21 | 20 | override func viewDidLoad() { |
22 | 21 | super.viewDidLoad() |
23 | - AppDelegate.instance().httpServer.getResourceModel(parameters: ["f_id":"2be92331-ea5a-41c9-9025-c954d7df904c" as AnyObject]) { (str, error) in | |
22 | + updataPersonPhoto.layer.cornerRadius = updataPersonPhoto.frame.size.height/2 | |
23 | + updataPersonPhoto.layer.masksToBounds = true | |
24 | + AppDelegate.instance().httpServer.getResourceModel(parameters: ["f_id":item.f_Id as AnyObject]) { (str, error) in | |
24 | 25 | httpJsonResule(jsonString: str, error: error, successHandler: { (json) in |
25 | - self.tvStation = TVStationSubject(json: json.contentData()) | |
26 | - self.setAllInfor() | |
26 | + self.setAllInfor(item: TVStationSubject(json: json.contentData())) | |
27 | 27 | }, failHandler: { (error) in |
28 | 28 | |
29 | 29 | }) |
30 | 30 | } |
31 | + | |
31 | 32 | // Do any additional setup after loading the view. |
32 | 33 | } |
33 | 34 | |
34 | - func setAllInfor(){ | |
35 | - updataTime.text = setDateToString(date: dateFromISO8601(dateString: tvStation.f_CreatorTime)) | |
36 | - updataPersonName.text = "上传者: \(tvStation.f_CreatorName!)" | |
37 | - updataPersonPhoto.layer.cornerRadius = updataPersonPhoto.frame.size.height/2 | |
38 | - updataPersonPhoto.layer.masksToBounds = true | |
39 | - updataPersonPhoto.sd_setImage(with: URL(string: tvStation.f_Img), placeholderImage: #imageLiteral(resourceName: "defphoto.png")) | |
35 | + func setAllInfor(item:TVStationSubject){ | |
36 | + updataTime.text = setDateToString(date: dateFromISO8601(dateString: item.f_CreatorTime)) | |
37 | + updataPersonName.text = "上传者: \(item.f_CreatorName!)" | |
38 | + updataPersonPhoto.sd_setImage(with: URL(string: item.f_Img), placeholderImage: #imageLiteral(resourceName: "defphoto.png")) | |
40 | 39 | } |
41 | 40 | |
42 | 41 | override func didReceiveMemoryWarning() { | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/Resource/Resource.storyboard
1 | -<?xml version="1.0" encoding="UTF-8"?> | |
2 | -<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11762" systemVersion="16A323" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> | |
1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11762" systemVersion="15G1217" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> | |
3 | 3 | <device id="retina4_7" orientation="portrait"> |
4 | 4 | <adaptation id="fullscreen"/> |
5 | 5 | </device> |
... | ... | @@ -9,6 +9,25 @@ |
9 | 9 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
10 | 10 | </dependencies> |
11 | 11 | <scenes> |
12 | + <!--Filter View Controller--> | |
13 | + <scene sceneID="Rmv-Eo-NBi"> | |
14 | + <objects> | |
15 | + <viewController storyboardIdentifier="FilterViewController" hidesBottomBarWhenPushed="YES" id="J51-bf-ysq" customClass="FilterViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController"> | |
16 | + <layoutGuides> | |
17 | + <viewControllerLayoutGuide type="top" id="8Fm-xC-jSr"/> | |
18 | + <viewControllerLayoutGuide type="bottom" id="bXh-Wr-qy6"/> | |
19 | + </layoutGuides> | |
20 | + <view key="view" contentMode="scaleToFill" id="ao2-Oa-iAS"> | |
21 | + <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | |
22 | + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | |
23 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
24 | + </view> | |
25 | + <simulatedNavigationBarMetrics key="simulatedTopBarMetrics" prompted="NO"/> | |
26 | + </viewController> | |
27 | + <placeholder placeholderIdentifier="IBFirstResponder" id="ocM-s7-Wga" userLabel="First Responder" sceneMemberID="firstResponder"/> | |
28 | + </objects> | |
29 | + <point key="canvasLocation" x="-737" y="266"/> | |
30 | + </scene> | |
12 | 31 | <!--Live Infor View Controller--> |
13 | 32 | <scene sceneID="QrF-a4-VNS"> |
14 | 33 | <objects> | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/Resource/ResourceViewController.swift
... | ... | @@ -8,49 +8,161 @@ |
8 | 8 | |
9 | 9 | import UIKit |
10 | 10 | |
11 | -class ResourceViewController: UIViewController { | |
12 | - | |
11 | +class ResourceViewController: UIViewController,UITableViewDelegate,UITableViewDataSource,UISearchControllerDelegate,UISearchResultsUpdating { | |
12 | + @IBOutlet var tableView: UITableView! | |
13 | + | |
14 | + @IBOutlet var grayView: UIView! | |
15 | + @IBOutlet var searchTableView: UITableView! | |
16 | + @IBOutlet var searchTableHeight: NSLayoutConstraint! | |
17 | + | |
18 | + var searchController:UISearchController! | |
19 | + var dataSetAry:[String]=["葛建军","张道峰","徐晓杰","左承","段合江"] | |
20 | + var searchAry:[String]=[] | |
21 | + var currentPage:Int=0 //当前页数,每次取十个数据 | |
22 | + var resourceData:[MicroCourseModel]=[] | |
13 | 23 | override func viewDidLoad() { |
14 | 24 | super.viewDidLoad() |
15 | 25 | self.configTheme() |
16 | - // Do any additional setup after loading the view. | |
26 | + addSearchController() | |
27 | + addRefresh() | |
28 | + self.refreshLivesAction(tag: self.currentPage, completionHandler: { (success) in | |
29 | + if success{ | |
30 | + self.tableView.reloadData() | |
31 | + } | |
32 | + }) | |
17 | 33 | } |
18 | - | |
19 | - override func didReceiveMemoryWarning() { | |
20 | - super.didReceiveMemoryWarning() | |
21 | - // Dispose of any resources that can be recreated. | |
34 | + func addSearchController(){ | |
35 | + self.definesPresentationContext=true | |
36 | + searchController=UISearchController(searchResultsController: nil) | |
37 | + searchController.delegate=self | |
38 | + searchController.searchResultsUpdater=self | |
39 | + searchController.searchBar.barTintColor=UIColor.groupTableViewBackground | |
40 | + searchController.searchBar.placeholder="搜索" | |
41 | + //设置UISearchController的显示属性,以下3个属性默认为YES | |
42 | + //搜索时,背景变暗色 | |
43 | + self.searchController.dimsBackgroundDuringPresentation=false | |
44 | + //搜索时,背景变模糊 | |
45 | + // self.searchController.obscuresBackgroundDuringPresentation=false | |
46 | + //点击搜索的时候,是否隐藏导航栏 | |
47 | + // searchController.hidesNavigationBarDuringPresentation=true | |
48 | + //位置 | |
49 | + searchController.searchBar.frame=CGRect(x: self.searchController.searchBar.frame.origin.x, y: self.searchController.searchBar.frame.origin.y, width: self.searchController.searchBar.frame.size.width, height: 44.0); | |
50 | + // self.view.addSubview(searchController.searchBar) | |
51 | + searchTableView.tableHeaderView=searchController.searchBar | |
22 | 52 | } |
23 | - | |
24 | - | |
25 | - /* | |
26 | - // MARK: - Navigation | |
27 | - | |
28 | - // In a storyboard-based application, you will often want to do a little preparation before navigation | |
29 | - override func prepare(for segue: UIStoryboardSegue, sender: Any?) { | |
30 | - // Get the new view controller using segue.destinationViewController. | |
31 | - // Pass the selected object to the new view controller. | |
53 | + func addRefresh(){ | |
54 | + let header=MJRefreshNormalHeader(refreshingBlock: { | |
55 | + //下拉刷新 | |
56 | + self.currentPage=0 | |
57 | + self.resourceData.removeAll() | |
58 | + self.refreshLivesAction(tag: self.currentPage, completionHandler: { (success) in | |
59 | + if success{ | |
60 | + self.tableView.reloadData() | |
61 | + } | |
62 | + self.tableView.mj_header.endRefreshing() | |
63 | + }) | |
64 | + }) | |
65 | + header?.lastUpdatedTimeLabel.isHidden=true | |
66 | + tableView.mj_header=header | |
67 | + tableView.mj_footer=MJRefreshBackNormalFooter(refreshingBlock: { | |
68 | + //上拉加载更多 | |
69 | + self.refreshLivesAction(tag: self.currentPage, completionHandler: { (success) in | |
70 | + if success{ | |
71 | + self.tableView.reloadData() | |
72 | + } | |
73 | + self.tableView.mj_footer.endRefreshing() | |
74 | + }) | |
75 | + }) | |
32 | 76 | } |
33 | - */ | |
34 | - | |
35 | -} | |
36 | - | |
37 | -extension ResourceViewController:UITableViewDelegate,UITableViewDataSource{ | |
38 | - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | |
39 | - return 10 | |
77 | + // MARK: - 刷新数据接口 | |
78 | + func refreshLivesAction(tag:Int,completionHandler:@escaping (Bool) -> ()){ | |
79 | + let parameters:Dictionary<String,AnyObject>=["type":1 as AnyObject,"pageIndex":tag as AnyObject,"pageSize":1 as AnyObject] | |
80 | + AppDelegate.instance().httpServer.getHotRescourse(parameters: parameters) { (str, error) in | |
81 | + var success:Bool=true | |
82 | + if error==nil { | |
83 | + if JSON.fromString(jsonString: str)!["status"].intValue == 1{ | |
84 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | |
85 | + if JSON.fromString(jsonString: str)!["data"].arrayValue.count>0{ | |
86 | + self.currentPage+=1 | |
87 | + } | |
88 | + for item in JSON.fromString(jsonString: str)!["data"].arrayValue { | |
89 | + self.resourceData.append(MicroCourseModel(j: item)) | |
90 | + } | |
91 | + success=true | |
92 | + }, failHandler: { (error) in | |
93 | + success=false | |
94 | + appRootViewController().view.makeToast("获取资源失败:\(error.localizedDescription)") | |
95 | + }) | |
96 | + }else{ | |
97 | + success=false | |
98 | + appRootViewController().view.makeToast("获取资源失败:\(JSON.fromString(jsonString: str)!["message"].stringValue)") | |
99 | + } | |
100 | + }else{ | |
101 | + success=false | |
102 | + appRootViewController().view.makeToast("获取资源失败:\(error!.description)") | |
103 | + } | |
104 | + completionHandler(success) | |
105 | + } | |
40 | 106 | } |
41 | - | |
42 | - func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | |
43 | - let vc = Story.instantiateViewControllerWithIdentifier("LiveInforViewControllerVC", storyName: "Resource") as! LiveInforViewController | |
107 | + // MARK: - 跳转到筛选 | |
108 | + @IBAction func jumpFilterVCAction(_ sender: UIButton) { | |
109 | + let vc = UIStoryboard(name: "Resource", bundle: nil).instantiateViewController(withIdentifier: "FilterViewController") as! FilterViewController | |
44 | 110 | self.navigationController?.pushViewController(vc, animated: true) |
45 | - | |
46 | 111 | } |
47 | 112 | |
113 | + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | |
114 | + if tableView==searchTableView{ | |
115 | + return searchAry.count | |
116 | + }else{ | |
117 | + return resourceData.count | |
118 | + } | |
119 | + } | |
48 | 120 | func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { |
49 | - let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! ResourceViewControllerTableViewCell | |
50 | - return cell | |
121 | + if tableView==searchTableView { | |
122 | + let cell=tableView.dequeueReusableCell(withIdentifier: "cell") | |
123 | + cell?.textLabel?.text=searchAry[indexPath.row] | |
124 | + return cell! | |
125 | + }else{ | |
126 | + let cell=tableView.dequeueReusableCell(withIdentifier: "identifier") as! ResourceViewControllerTableViewCell | |
127 | + cell.setUpWith(item: resourceData[indexPath.row]) | |
128 | + return cell | |
129 | + } | |
130 | + } | |
131 | + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | |
132 | + if tableView==searchTableView { | |
133 | + let vc = UIStoryboard(name: "HomePage", bundle: nil).instantiateViewController(withIdentifier: "RankingTableViewController") as! RankingTableViewController | |
134 | + self.navigationController?.pushViewController(vc, animated: true) | |
135 | + }else{ | |
136 | + | |
137 | + } | |
138 | + } | |
139 | + //取消键盘输入状态 | |
140 | + @IBAction func cancleSearchActivit(_ sender: UITapGestureRecognizer) { | |
141 | + searchController.isActive=false | |
142 | + } | |
143 | + func willPresentSearchController(_ searchController: UISearchController) { | |
144 | + grayView.isHidden=false | |
51 | 145 | } |
146 | + func willDismissSearchController(_ searchController: UISearchController) { | |
147 | + searchTableHeight.constant=44 | |
148 | + grayView.isHidden=true | |
149 | + } | |
150 | + //谓词搜索过滤 | |
151 | + func updateSearchResults(for searchController: UISearchController) { | |
152 | + let searchString=searchController.searchBar.text | |
153 | + let predicate=NSPredicate(format: "SELF CONTAINS[c] %@", searchString!) | |
154 | + searchAry=(dataSetAry as NSArray).filtered(using: predicate) as! [String] | |
155 | + if CGFloat((searchAry.count+1)*44)>(getScreenHeight()-64){ | |
156 | + searchTableHeight.constant=getScreenHeight()-64 | |
157 | + }else{ | |
158 | + searchTableHeight.constant=CGFloat((searchAry.count+1)*44) | |
159 | + } | |
160 | + searchTableView.reloadData() | |
161 | + } | |
162 | + | |
52 | 163 | } |
53 | 164 | |
165 | + | |
54 | 166 | extension ResourceViewController:UICollectionViewDelegate,UICollectionViewDelegateFlowLayout,UICollectionViewDataSource{ |
55 | 167 | |
56 | 168 | func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { |
... | ... | @@ -68,7 +180,18 @@ extension ResourceViewController:UICollectionViewDelegate,UICollectionViewDelega |
68 | 180 | } |
69 | 181 | |
70 | 182 | class ResourceViewControllerTableViewCell:UITableViewCell{ |
71 | - | |
183 | + @IBOutlet var iconImageView: UIImageView! | |
184 | + @IBOutlet var titleLabel: UILabel! | |
185 | + @IBOutlet var updateTeacherLabel: UILabel! | |
186 | + @IBOutlet var timeLabel: UILabel! | |
187 | + @IBOutlet var downLoadCountLabel: UILabel! | |
188 | + func setUpWith(item: MicroCourseModel){ | |
189 | + iconImageView.sd_setImage(with: URL(string: item.f_Img), placeholderImage: UIImage(named: "icon_course_placeholder")) | |
190 | + titleLabel.text=item.f_Title | |
191 | + updateTeacherLabel.text="上传者:\(item.f_CreatorName) 老师" | |
192 | + timeLabel.text=item.f_CreatorTime | |
193 | + downLoadCountLabel.text="\(item.f_DownloadSum)" | |
194 | + } | |
72 | 195 | } |
73 | 196 | |
74 | 197 | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/TVStation/ExcellentTVViewController.swift
... | ... | @@ -103,6 +103,7 @@ class ExcellentTVViewController: UIViewController { |
103 | 103 | |
104 | 104 | func TVStationBtnClick(btn:UIButton){ |
105 | 105 | titleSelectBtn = btn.tag%10 |
106 | + classSelectBtn = 0 | |
106 | 107 | for i in 0..<TVStationClasses.count{ |
107 | 108 | let item = AllTitleView.viewWithTag(200+i) as! UIButton |
108 | 109 | item.backgroundColor = UIColor.white |
... | ... | @@ -200,10 +201,19 @@ extension ExcellentTVViewController:UICollectionViewDelegate,UICollectionViewDat |
200 | 201 | btn.setTitleColor(UIColor.white, for: .normal) |
201 | 202 | btn.backgroundColor = UIColor.blue |
202 | 203 | } |
203 | - | |
204 | + | |
204 | 205 | func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { |
205 | 206 | let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! ExcellentTVViewCell |
206 | - cell.f_TelevisionId = TVStationClasses[titleSelectBtn].ch[classSelectBtn].id | |
207 | + AppDelegate.instance().httpServer.postExcellentProgram(parameters: ["f_TelevisionId":TVStationClasses[titleSelectBtn].ch[classSelectBtn].id as AnyObject,"pageIndex":1 as AnyObject]) { (str, error) in | |
208 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | |
209 | + for item in json.contentData()["resultData"].arrayValue{ | |
210 | + cell.datatSet.append(TVStationSubject(json: item)) | |
211 | + } | |
212 | + cell.inforCollectionView.reloadData() | |
213 | + }, failHandler: { (error) in | |
214 | + | |
215 | + }) | |
216 | + } | |
207 | 217 | return cell |
208 | 218 | } |
209 | 219 | |
... | ... | @@ -230,16 +240,7 @@ class ExcellentTVViewCell: UICollectionViewCell,UICollectionViewDelegate,UIColl |
230 | 240 | |
231 | 241 | |
232 | 242 | override func awakeFromNib() { |
233 | - AppDelegate.instance().httpServer.postExcellentProgram(parameters: ["f_TelevisionId":f_TelevisionId as AnyObject,"pageIndex":1 as AnyObject]) { (str, error) in | |
234 | - httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | |
235 | - for item in json.contentData().arrayValue{ | |
236 | - self.datatSet.append(TVStationSubject(json: item)) | |
237 | - } | |
238 | - self.inforCollectionView.reloadData() | |
239 | - }, failHandler: { (error) in | |
240 | - | |
241 | - }) | |
242 | - } | |
243 | + super.awakeFromNib() | |
243 | 244 | } |
244 | 245 | |
245 | 246 | func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { |
... | ... | @@ -248,6 +249,8 @@ class ExcellentTVViewCell: UICollectionViewCell,UICollectionViewDelegate,UIColl |
248 | 249 | |
249 | 250 | func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { |
250 | 251 | let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell1", for: indexPath) as! ExcellentTVInforViewCell |
252 | + let item = datatSet[indexPath.row] | |
253 | + cell.model = item | |
251 | 254 | return cell |
252 | 255 | } |
253 | 256 | |
... | ... | @@ -256,7 +259,7 @@ class ExcellentTVViewCell: UICollectionViewCell,UICollectionViewDelegate,UIColl |
256 | 259 | } |
257 | 260 | |
258 | 261 | func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { |
259 | - return CGSize(width: (getScreenWidth()-30)/2, height: 150) | |
262 | + return CGSize(width: (getScreenWidth()-30)/2, height: 200) | |
260 | 263 | } |
261 | 264 | |
262 | 265 | |
... | ... | @@ -268,6 +271,23 @@ class ExcellentTVViewCell: UICollectionViewCell,UICollectionViewDelegate,UIColl |
268 | 271 | |
269 | 272 | class ExcellentTVInforViewCell: UICollectionViewCell{ |
270 | 273 | |
274 | + @IBOutlet weak var tvStationLogo: UIImageView! | |
275 | + @IBOutlet weak var subjectType: UILabel! | |
276 | + @IBOutlet weak var playCount: UILabel! | |
277 | + | |
278 | + var model:TVStationSubject? { | |
279 | + didSet{ | |
280 | + self.tvStationLogo.sd_setImage(with: URL(string: model!.f_Img), placeholderImage: #imageLiteral(resourceName: "placeholder")) | |
281 | + self.playCount.text = "播放次数:" + "\(model!.f_Pv!)" | |
282 | + self.subjectType.text = model!.f_Title | |
283 | + } | |
284 | + | |
285 | + } | |
286 | + | |
287 | + @IBAction func playBtnClick(_ sender: UIButton) { | |
288 | + | |
289 | + } | |
290 | + | |
271 | 291 | } |
272 | 292 | |
273 | 293 | class TVSubjectInfor{ | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/TVStation/TVStation.storyboard
... | ... | @@ -136,20 +136,74 @@ |
136 | 136 | <rect key="frame" x="0.0" y="0.0" width="376" height="392"/> |
137 | 137 | <color key="backgroundColor" red="0.89713114500000002" green="0.89431768659999999" blue="0.90413767099999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
138 | 138 | <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="cgF-Y1-nnf"> |
139 | - <size key="itemSize" width="170" height="167"/> | |
139 | + <size key="itemSize" width="170" height="262"/> | |
140 | 140 | <size key="headerReferenceSize" width="0.0" height="0.0"/> |
141 | 141 | <size key="footerReferenceSize" width="0.0" height="0.0"/> |
142 | 142 | <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/> |
143 | 143 | </collectionViewFlowLayout> |
144 | 144 | <cells> |
145 | 145 | <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="cell1" id="E1U-aK-U8z" customClass="ExcellentTVInforViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> |
146 | - <rect key="frame" x="0.0" y="0.0" width="170" height="167"/> | |
146 | + <rect key="frame" x="0.0" y="0.0" width="170" height="262"/> | |
147 | 147 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> |
148 | 148 | <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> |
149 | - <rect key="frame" x="0.0" y="0.0" width="170" height="167"/> | |
149 | + <rect key="frame" x="0.0" y="0.0" width="170" height="262"/> | |
150 | 150 | <autoresizingMask key="autoresizingMask"/> |
151 | + <subviews> | |
152 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="fcz-OQ-94m"> | |
153 | + <rect key="frame" x="0.0" y="0.0" width="170" height="134.5"/> | |
154 | + <constraints> | |
155 | + <constraint firstAttribute="width" secondItem="fcz-OQ-94m" secondAttribute="height" multiplier="81:64" id="BM3-Lc-rwo"/> | |
156 | + </constraints> | |
157 | + </imageView> | |
158 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="v40-tv-azp"> | |
159 | + <rect key="frame" x="0.0" y="134.5" width="170" height="127.5"/> | |
160 | + <subviews> | |
161 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VsV-Bf-hCY"> | |
162 | + <rect key="frame" x="8" y="8" width="37.5" height="18"/> | |
163 | + <fontDescription key="fontDescription" type="system" pointSize="15"/> | |
164 | + <nil key="textColor"/> | |
165 | + <nil key="highlightedColor"/> | |
166 | + </label> | |
167 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9MF-Zt-fqc"> | |
168 | + <rect key="frame" x="8" y="103.5" width="33" height="16"/> | |
169 | + <fontDescription key="fontDescription" type="system" pointSize="13"/> | |
170 | + <nil key="textColor"/> | |
171 | + <nil key="highlightedColor"/> | |
172 | + </label> | |
173 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="R2I-qS-V0B"> | |
174 | + <rect key="frame" x="116" y="49" width="46" height="30"/> | |
175 | + <state key="normal" title="Button"/> | |
176 | + <connections> | |
177 | + <action selector="playBtnClick:" destination="E1U-aK-U8z" eventType="touchUpInside" id="uuk-j5-fzl"/> | |
178 | + </connections> | |
179 | + </button> | |
180 | + </subviews> | |
181 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
182 | + <constraints> | |
183 | + <constraint firstItem="9MF-Zt-fqc" firstAttribute="leading" secondItem="v40-tv-azp" secondAttribute="leading" constant="8" id="2Kr-Vk-cl8"/> | |
184 | + <constraint firstAttribute="bottom" secondItem="9MF-Zt-fqc" secondAttribute="bottom" constant="8" id="Per-3M-nJ4"/> | |
185 | + <constraint firstAttribute="trailing" secondItem="R2I-qS-V0B" secondAttribute="trailing" constant="8" id="asC-Mg-7ac"/> | |
186 | + <constraint firstItem="VsV-Bf-hCY" firstAttribute="leading" secondItem="v40-tv-azp" secondAttribute="leading" constant="8" id="trW-Yh-6Yt"/> | |
187 | + <constraint firstItem="R2I-qS-V0B" firstAttribute="centerY" secondItem="v40-tv-azp" secondAttribute="centerY" id="ybv-GH-Lkg"/> | |
188 | + <constraint firstItem="VsV-Bf-hCY" firstAttribute="top" secondItem="v40-tv-azp" secondAttribute="top" constant="8" id="zLU-CS-C8S"/> | |
189 | + </constraints> | |
190 | + </view> | |
191 | + </subviews> | |
151 | 192 | </view> |
152 | - <color key="backgroundColor" red="0.024445036430000001" green="0.37366014720000001" blue="0.72428816559999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | |
193 | + <constraints> | |
194 | + <constraint firstItem="v40-tv-azp" firstAttribute="top" secondItem="fcz-OQ-94m" secondAttribute="bottom" id="IHm-KI-Mgh"/> | |
195 | + <constraint firstAttribute="trailing" secondItem="fcz-OQ-94m" secondAttribute="trailing" id="YNR-ad-G4t"/> | |
196 | + <constraint firstItem="fcz-OQ-94m" firstAttribute="leading" secondItem="E1U-aK-U8z" secondAttribute="leading" id="dFl-og-rZ7"/> | |
197 | + <constraint firstAttribute="trailing" secondItem="v40-tv-azp" secondAttribute="trailing" id="gRV-Qv-d29"/> | |
198 | + <constraint firstItem="fcz-OQ-94m" firstAttribute="top" secondItem="E1U-aK-U8z" secondAttribute="top" id="roE-zo-bkK"/> | |
199 | + <constraint firstAttribute="bottom" secondItem="v40-tv-azp" secondAttribute="bottom" id="sT9-jY-pdA"/> | |
200 | + <constraint firstItem="v40-tv-azp" firstAttribute="leading" secondItem="E1U-aK-U8z" secondAttribute="leading" id="tdS-jP-AdZ"/> | |
201 | + </constraints> | |
202 | + <connections> | |
203 | + <outlet property="playCount" destination="9MF-Zt-fqc" id="iHW-0H-dJW"/> | |
204 | + <outlet property="subjectType" destination="VsV-Bf-hCY" id="jBF-p7-4zm"/> | |
205 | + <outlet property="tvStationLogo" destination="fcz-OQ-94m" id="aJ8-f4-qoh"/> | |
206 | + </connections> | |
153 | 207 | </collectionViewCell> |
154 | 208 | </cells> |
155 | 209 | <connections> | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/User/UserCenter/LoginViewController.swift
... | ... | @@ -28,7 +28,7 @@ class LoginViewController: UIViewController,UITextFieldDelegate { |
28 | 28 | // let leftbtn = UIBarButtonItem(title: "返回", style: .plain, target: self, action: #selector(LoginViewController.back)) |
29 | 29 | // self.navigationItem.title = "登录" |
30 | 30 | // self.navigationItem.leftBarButtonItem = leftbtn |
31 | - changeViewTop.constant=(getScreenHeight()-64-220)/3 | |
31 | + changeViewTop.constant=(getScreenHeight()-64-220)/2 | |
32 | 32 | } |
33 | 33 | //点击页面回收键盘 |
34 | 34 | @IBAction func touchAction(_ sender: AnyObject) { |
... | ... | @@ -134,9 +134,9 @@ class LoginViewController: UIViewController,UITextFieldDelegate { |
134 | 134 | let userInfo:NSDictionary=noti.userInfo! as NSDictionary |
135 | 135 | let endFrame=(userInfo[UIKeyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue |
136 | 136 | if endFrame?.origin.y==getScreenHeight() { |
137 | - changeViewTop.constant=(getScreenHeight()-64-220)/3 | |
137 | + changeViewTop.constant=(getScreenHeight()-64-220)/2 | |
138 | 138 | }else{ |
139 | - let y = (getScreenHeight()-64-220)/3+CGFloat(64+220) | |
139 | + let y = (getScreenHeight()-64-220)/2+CGFloat(64+220) | |
140 | 140 | if (endFrame?.origin.y)! < y { |
141 | 141 | changeViewTop.constant=getScreenHeight()-64-(endFrame?.size.height)!-220 |
142 | 142 | } | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/User/UserCenter/User.storyboard
... | ... | @@ -22,21 +22,46 @@ |
22 | 22 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> |
23 | 23 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
24 | 24 | <subviews> |
25 | - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="loginBackGround" translatesAutoresizingMaskIntoConstraints="NO" id="Bob-Ef-450"> | |
26 | - <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | |
27 | - </imageView> | |
25 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rfv-aY-7Su"> | |
26 | + <rect key="frame" x="0.0" y="0.0" width="375" height="186"/> | |
27 | + <subviews> | |
28 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="教育视频云" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hWE-Vs-d0u"> | |
29 | + <rect key="frame" x="150" y="0.0" width="225" height="186"/> | |
30 | + <fontDescription key="fontDescription" type="system" pointSize="22"/> | |
31 | + <color key="textColor" red="0.10980392156862745" green="0.63529411764705879" blue="1" alpha="1" colorSpace="calibratedRGB"/> | |
32 | + <nil key="highlightedColor"/> | |
33 | + </label> | |
34 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="2J4-Xk-hLV"> | |
35 | + <rect key="frame" x="62" y="53" width="80" height="80"/> | |
36 | + <constraints> | |
37 | + <constraint firstAttribute="height" constant="80" id="gMc-Hx-iZf"/> | |
38 | + <constraint firstAttribute="width" constant="80" id="kIC-aJ-75p"/> | |
39 | + </constraints> | |
40 | + </imageView> | |
41 | + </subviews> | |
42 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | |
43 | + <constraints> | |
44 | + <constraint firstItem="2J4-Xk-hLV" firstAttribute="centerY" secondItem="rfv-aY-7Su" secondAttribute="centerY" id="CXG-zh-yXU"/> | |
45 | + <constraint firstAttribute="height" constant="186" id="MDO-eR-LT5"/> | |
46 | + <constraint firstItem="hWE-Vs-d0u" firstAttribute="top" secondItem="rfv-aY-7Su" secondAttribute="top" id="MIW-gU-FEh"/> | |
47 | + <constraint firstAttribute="trailing" secondItem="hWE-Vs-d0u" secondAttribute="trailing" id="RiE-Cg-vB6"/> | |
48 | + <constraint firstItem="hWE-Vs-d0u" firstAttribute="width" secondItem="rfv-aY-7Su" secondAttribute="width" multiplier="3:5" id="f3q-An-JLu"/> | |
49 | + <constraint firstItem="hWE-Vs-d0u" firstAttribute="leading" secondItem="2J4-Xk-hLV" secondAttribute="trailing" constant="8" id="h74-K9-uXy"/> | |
50 | + <constraint firstAttribute="bottom" secondItem="hWE-Vs-d0u" secondAttribute="bottom" id="zcB-F0-ox7"/> | |
51 | + </constraints> | |
52 | + </view> | |
28 | 53 | <view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="tqb-X5-ujR" customClass="UIControl"> |
29 | 54 | <rect key="frame" x="0.0" y="186" width="375" height="220"/> |
30 | 55 | <subviews> |
31 | 56 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="eXd-TY-qlW"> |
32 | - <rect key="frame" x="62.5" y="0.0" width="250" height="112"/> | |
57 | + <rect key="frame" x="0.0" y="0.0" width="375" height="112"/> | |
33 | 58 | <subviews> |
34 | 59 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="EAC-sg-BLE"> |
35 | - <rect key="frame" x="0.0" y="0.0" width="250" height="56"/> | |
60 | + <rect key="frame" x="0.0" y="0.0" width="375" height="56"/> | |
36 | 61 | <subviews> |
37 | 62 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="NJW-yg-XQM"> |
38 | - <rect key="frame" x="0.0" y="55" width="250" height="1"/> | |
39 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
63 | + <rect key="frame" x="8" y="55" width="359" height="1"/> | |
64 | + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> | |
40 | 65 | <constraints> |
41 | 66 | <constraint firstAttribute="height" constant="1" id="GtD-JL-A0z"/> |
42 | 67 | </constraints> |
... | ... | @@ -51,8 +76,8 @@ |
51 | 76 | <constraint firstAttribute="width" secondItem="1xZ-bM-AMz" secondAttribute="height" multiplier="9:14" id="DCg-L0-4Lx"/> |
52 | 77 | </constraints> |
53 | 78 | </imageView> |
54 | - <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入11位数的手机号码 " minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="IzH-dB-I9H"> | |
55 | - <rect key="frame" x="36" y="18.5" width="214" height="19"/> | |
79 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入账号" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="IzH-dB-I9H"> | |
80 | + <rect key="frame" x="36" y="18.5" width="339" height="19"/> | |
56 | 81 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
57 | 82 | <fontDescription key="fontDescription" type="system" pointSize="13"/> |
58 | 83 | <textInputTraits key="textInputTraits" keyboardType="numberPad"/> |
... | ... | @@ -61,7 +86,7 @@ |
61 | 86 | </connections> |
62 | 87 | </textField> |
63 | 88 | </subviews> |
64 | - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | |
89 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
65 | 90 | <constraints> |
66 | 91 | <constraint firstAttribute="trailing" secondItem="IzH-dB-I9H" secondAttribute="trailing" id="DIX-3U-BQG"/> |
67 | 92 | <constraint firstAttribute="height" constant="56" id="Ff7-2n-071"/> |
... | ... | @@ -69,16 +94,16 @@ |
69 | 94 | <constraint firstItem="IzH-dB-I9H" firstAttribute="centerY" secondItem="EAC-sg-BLE" secondAttribute="centerY" id="Ud1-tF-ivz"/> |
70 | 95 | <constraint firstItem="1xZ-bM-AMz" firstAttribute="leading" secondItem="EAC-sg-BLE" secondAttribute="leading" constant="8" id="Z77-MJ-BF0"/> |
71 | 96 | <constraint firstAttribute="bottom" secondItem="NJW-yg-XQM" secondAttribute="bottom" id="i3N-yW-fre"/> |
72 | - <constraint firstAttribute="trailing" secondItem="NJW-yg-XQM" secondAttribute="trailing" id="ued-ca-1l3"/> | |
97 | + <constraint firstAttribute="trailing" secondItem="NJW-yg-XQM" secondAttribute="trailing" constant="8" id="ued-ca-1l3"/> | |
73 | 98 | <constraint firstItem="1xZ-bM-AMz" firstAttribute="centerY" secondItem="EAC-sg-BLE" secondAttribute="centerY" id="xd6-hf-JPu"/> |
74 | - <constraint firstItem="NJW-yg-XQM" firstAttribute="leading" secondItem="EAC-sg-BLE" secondAttribute="leading" id="xlc-R5-T0J"/> | |
99 | + <constraint firstItem="NJW-yg-XQM" firstAttribute="leading" secondItem="EAC-sg-BLE" secondAttribute="leading" constant="8" id="xlc-R5-T0J"/> | |
75 | 100 | </constraints> |
76 | 101 | </view> |
77 | 102 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xba-Rv-jIe"> |
78 | - <rect key="frame" x="0.0" y="56" width="250" height="56"/> | |
103 | + <rect key="frame" x="0.0" y="56" width="375" height="56"/> | |
79 | 104 | <subviews> |
80 | 105 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BcZ-u5-RFA"> |
81 | - <rect key="frame" x="0.0" y="55" width="250" height="1"/> | |
106 | + <rect key="frame" x="0.0" y="55" width="375" height="1"/> | |
82 | 107 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
83 | 108 | <constraints> |
84 | 109 | <constraint firstAttribute="height" constant="1" id="aAz-El-TeO"/> |
... | ... | @@ -94,8 +119,8 @@ |
94 | 119 | <constraint firstAttribute="width" constant="20" id="vb3-Wd-N14"/> |
95 | 120 | </constraints> |
96 | 121 | </imageView> |
97 | - <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入6位以上的密码" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="nVn-EA-yWM"> | |
98 | - <rect key="frame" x="36" y="18.5" width="214" height="19"/> | |
122 | + <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入密码" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="nVn-EA-yWM"> | |
123 | + <rect key="frame" x="36" y="18.5" width="339" height="19"/> | |
99 | 124 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
100 | 125 | <fontDescription key="fontDescription" type="system" pointSize="13"/> |
101 | 126 | <textInputTraits key="textInputTraits" secureTextEntry="YES"/> |
... | ... | @@ -104,7 +129,7 @@ |
104 | 129 | </connections> |
105 | 130 | </textField> |
106 | 131 | </subviews> |
107 | - <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | |
132 | + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
108 | 133 | <constraints> |
109 | 134 | <constraint firstItem="oON-zY-4HS" firstAttribute="leading" secondItem="xba-Rv-jIe" secondAttribute="leading" constant="8" id="6sV-zB-qIs"/> |
110 | 135 | <constraint firstItem="nVn-EA-yWM" firstAttribute="centerY" secondItem="xba-Rv-jIe" secondAttribute="centerY" id="HaD-wa-ZFb"/> |
... | ... | @@ -130,15 +155,18 @@ |
130 | 155 | </constraints> |
131 | 156 | </view> |
132 | 157 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Qs2-9k-jbh"> |
133 | - <rect key="frame" x="62.5" y="144" width="250" height="30"/> | |
134 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
158 | + <rect key="frame" x="16" y="134" width="343" height="40"/> | |
159 | + <color key="backgroundColor" red="0.10980392156862745" green="0.63529411764705879" blue="1" alpha="1" colorSpace="calibratedRGB"/> | |
160 | + <constraints> | |
161 | + <constraint firstAttribute="height" constant="40" id="gQn-hn-Wn2"/> | |
162 | + </constraints> | |
135 | 163 | <fontDescription key="fontDescription" type="system" pointSize="15"/> |
136 | 164 | <state key="normal" title="登录"> |
137 | - <color key="titleColor" red="1" green="0.39607843139999999" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | |
165 | + <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
138 | 166 | </state> |
139 | 167 | <userDefinedRuntimeAttributes> |
140 | 168 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> |
141 | - <integer key="value" value="15"/> | |
169 | + <integer key="value" value="5"/> | |
142 | 170 | </userDefinedRuntimeAttribute> |
143 | 171 | <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/> |
144 | 172 | </userDefinedRuntimeAttributes> |
... | ... | @@ -147,22 +175,20 @@ |
147 | 175 | </connections> |
148 | 176 | </button> |
149 | 177 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="pzO-1N-Vrz"> |
150 | - <rect key="frame" x="62.5" y="182" width="250" height="30"/> | |
178 | + <rect key="frame" x="16" y="182" width="343" height="30"/> | |
151 | 179 | <subviews> |
152 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="忘记密码" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="v6n-Br-sBy"> | |
153 | - <rect key="frame" x="0.0" y="0.0" width="53.5" height="30"/> | |
180 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="设置密码或找回密码" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="v6n-Br-sBy"> | |
181 | + <rect key="frame" x="0.0" y="0.0" width="119.5" height="30"/> | |
154 | 182 | <fontDescription key="fontDescription" type="system" pointSize="13"/> |
155 | - <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
156 | 183 | <nil key="highlightedColor"/> |
157 | 184 | </label> |
158 | - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="注册" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7fx-1i-VwW"> | |
159 | - <rect key="frame" x="223" y="0.0" width="27" height="30"/> | |
185 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="注册账号" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7fx-1i-VwW"> | |
186 | + <rect key="frame" x="289.5" y="0.0" width="53.5" height="30"/> | |
160 | 187 | <fontDescription key="fontDescription" type="system" pointSize="13"/> |
161 | - <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
162 | 188 | <nil key="highlightedColor"/> |
163 | 189 | </label> |
164 | 190 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ps0-yz-uMV"> |
165 | - <rect key="frame" x="0.0" y="0.0" width="250" height="30"/> | |
191 | + <rect key="frame" x="0.0" y="0.0" width="343" height="30"/> | |
166 | 192 | <fontDescription key="fontDescription" type="system" pointSize="13"/> |
167 | 193 | <state key="normal"> |
168 | 194 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
... | ... | @@ -190,28 +216,38 @@ |
190 | 216 | </subviews> |
191 | 217 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
192 | 218 | <constraints> |
193 | - <constraint firstItem="eXd-TY-qlW" firstAttribute="width" secondItem="tqb-X5-ujR" secondAttribute="width" multiplier="2:3" id="28b-2f-9yl"/> | |
219 | + <constraint firstItem="eXd-TY-qlW" firstAttribute="width" secondItem="tqb-X5-ujR" secondAttribute="width" id="28b-2f-9yl"/> | |
194 | 220 | <constraint firstAttribute="bottom" secondItem="pzO-1N-Vrz" secondAttribute="bottom" constant="8" id="AcS-52-YRY"/> |
221 | + <constraint firstItem="Qs2-9k-jbh" firstAttribute="leading" secondItem="tqb-X5-ujR" secondAttribute="leading" constant="16" id="EHx-MA-nvQ"/> | |
195 | 222 | <constraint firstAttribute="height" constant="220" id="JHj-W0-zAJ"/> |
196 | - <constraint firstItem="pzO-1N-Vrz" firstAttribute="width" secondItem="Qs2-9k-jbh" secondAttribute="width" id="RHT-EX-Fz6"/> | |
223 | + <constraint firstAttribute="trailing" secondItem="pzO-1N-Vrz" secondAttribute="trailing" constant="16" id="Qnk-VL-hpi"/> | |
224 | + <constraint firstAttribute="trailing" secondItem="Qs2-9k-jbh" secondAttribute="trailing" constant="16" id="SnW-DX-g3F"/> | |
197 | 225 | <constraint firstItem="eXd-TY-qlW" firstAttribute="centerX" secondItem="tqb-X5-ujR" secondAttribute="centerX" id="Yap-fj-Sza"/> |
198 | 226 | <constraint firstItem="pzO-1N-Vrz" firstAttribute="top" secondItem="Qs2-9k-jbh" secondAttribute="bottom" constant="8" id="YqV-mN-jUi"/> |
227 | + <constraint firstItem="pzO-1N-Vrz" firstAttribute="leading" secondItem="tqb-X5-ujR" secondAttribute="leading" constant="16" id="fWE-W3-H4P"/> | |
199 | 228 | <constraint firstItem="Qs2-9k-jbh" firstAttribute="centerX" secondItem="tqb-X5-ujR" secondAttribute="centerX" id="icb-A7-CtC"/> |
200 | - <constraint firstItem="Qs2-9k-jbh" firstAttribute="width" secondItem="eXd-TY-qlW" secondAttribute="width" id="ipD-di-CWB"/> | |
201 | 229 | <constraint firstItem="pzO-1N-Vrz" firstAttribute="centerX" secondItem="tqb-X5-ujR" secondAttribute="centerX" id="o6l-Fj-Cb6"/> |
202 | 230 | <constraint firstItem="eXd-TY-qlW" firstAttribute="top" secondItem="tqb-X5-ujR" secondAttribute="top" id="uPt-SF-Tbq"/> |
203 | 231 | </constraints> |
204 | 232 | </view> |
233 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="login_bottom2" translatesAutoresizingMaskIntoConstraints="NO" id="w9T-jY-F3e"> | |
234 | + <rect key="frame" x="0.0" y="520" width="375" height="147"/> | |
235 | + <constraints> | |
236 | + <constraint firstAttribute="width" secondItem="w9T-jY-F3e" secondAttribute="height" multiplier="636:249" id="HLo-XG-7PS"/> | |
237 | + </constraints> | |
238 | + </imageView> | |
205 | 239 | </subviews> |
206 | - <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | |
240 | + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> | |
207 | 241 | <gestureRecognizers/> |
208 | 242 | <constraints> |
209 | - <constraint firstItem="agc-xf-u2B" firstAttribute="top" secondItem="Bob-Ef-450" secondAttribute="bottom" id="1po-1a-xaB"/> | |
210 | - <constraint firstItem="Bob-Ef-450" firstAttribute="leading" secondItem="rVC-Df-GKu" secondAttribute="leading" id="7Sq-vg-TJG"/> | |
243 | + <constraint firstAttribute="trailing" secondItem="rfv-aY-7Su" secondAttribute="trailing" id="2JQ-xt-IcS"/> | |
244 | + <constraint firstItem="rfv-aY-7Su" firstAttribute="leading" secondItem="rVC-Df-GKu" secondAttribute="leading" id="CWh-Rw-Pq1"/> | |
245 | + <constraint firstItem="tqb-X5-ujR" firstAttribute="top" secondItem="rfv-aY-7Su" secondAttribute="bottom" id="DID-eg-sFe"/> | |
211 | 246 | <constraint firstAttribute="trailing" secondItem="tqb-X5-ujR" secondAttribute="trailing" id="F9s-LV-2UW"/> |
247 | + <constraint firstItem="agc-xf-u2B" firstAttribute="top" secondItem="w9T-jY-F3e" secondAttribute="bottom" id="MmO-RE-jQn"/> | |
212 | 248 | <constraint firstItem="tqb-X5-ujR" firstAttribute="top" secondItem="M3F-7t-f1g" secondAttribute="bottom" constant="166" id="Oea-d4-0BB"/> |
213 | - <constraint firstItem="Bob-Ef-450" firstAttribute="top" secondItem="rVC-Df-GKu" secondAttribute="top" id="TCI-Vu-vUz"/> | |
214 | - <constraint firstAttribute="trailing" secondItem="Bob-Ef-450" secondAttribute="trailing" id="y4W-E4-8L6"/> | |
249 | + <constraint firstItem="w9T-jY-F3e" firstAttribute="leading" secondItem="rVC-Df-GKu" secondAttribute="leading" id="mVH-Af-iXP"/> | |
250 | + <constraint firstAttribute="trailing" secondItem="w9T-jY-F3e" secondAttribute="trailing" id="ofZ-WX-PK2"/> | |
215 | 251 | <constraint firstItem="tqb-X5-ujR" firstAttribute="leading" secondItem="rVC-Df-GKu" secondAttribute="leading" id="zlD-w4-YPr"/> |
216 | 252 | </constraints> |
217 | 253 | <connections> |
... | ... | @@ -524,7 +560,7 @@ |
524 | 560 | </textField> |
525 | 561 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="hwv-0n-dsf"> |
526 | 562 | <rect key="frame" x="274" y="13" width="93" height="30"/> |
527 | - <color key="backgroundColor" red="1" green="0.39607843139999999" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | |
563 | + <color key="backgroundColor" red="0.10980392160000001" green="0.63529411759999999" blue="1" alpha="1" colorSpace="calibratedRGB"/> | |
528 | 564 | <fontDescription key="fontDescription" type="system" pointSize="15"/> |
529 | 565 | <state key="normal" title=" 发送验证码 "> |
530 | 566 | <color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
... | ... | @@ -613,7 +649,7 @@ |
613 | 649 | </view> |
614 | 650 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="R1Y-16-Th7"> |
615 | 651 | <rect key="frame" x="62.5" y="444" width="250" height="40"/> |
616 | - <color key="backgroundColor" red="1" green="0.39607843139999999" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | |
652 | + <color key="backgroundColor" red="0.10980392160000001" green="0.63529411759999999" blue="1" alpha="1" colorSpace="calibratedRGB"/> | |
617 | 653 | <constraints> |
618 | 654 | <constraint firstAttribute="height" constant="40" id="Kvn-w3-Juc"/> |
619 | 655 | </constraints> |
... | ... | @@ -624,7 +660,7 @@ |
624 | 660 | <userDefinedRuntimeAttributes> |
625 | 661 | <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/> |
626 | 662 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> |
627 | - <integer key="value" value="20"/> | |
663 | + <integer key="value" value="5"/> | |
628 | 664 | </userDefinedRuntimeAttribute> |
629 | 665 | </userDefinedRuntimeAttributes> |
630 | 666 | <connections> |
... | ... | @@ -635,7 +671,7 @@ |
635 | 671 | <rect key="frame" x="325" y="359" width="35" height="30"/> |
636 | 672 | <fontDescription key="fontDescription" type="system" pointSize="15"/> |
637 | 673 | <state key="normal" title="登 录"> |
638 | - <color key="titleColor" red="1" green="0.39607843139999999" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | |
674 | + <color key="titleColor" red="0.10980392160000001" green="0.63529411759999999" blue="1" alpha="1" colorSpace="calibratedRGB"/> | |
639 | 675 | </state> |
640 | 676 | <connections> |
641 | 677 | <action selector="loginBtnClickAction:" destination="tCx-JF-YJm" eventType="touchUpInside" id="KlD-u3-W3P"/> |
... | ... | @@ -724,7 +760,8 @@ |
724 | 760 | </scene> |
725 | 761 | </scenes> |
726 | 762 | <resources> |
727 | - <image name="loginBackGround" width="33" height="33"/> | |
763 | + <image name="icon" width="512" height="512"/> | |
764 | + <image name="login_bottom2" width="318" height="124"/> | |
728 | 765 | <image name="userId.png" width="36" height="56"/> |
729 | 766 | <image name="userPassword.png" width="31" height="41"/> |
730 | 767 | <image name="上传头像.png" width="70" height="70"/> | ... | ... |
YouerLiveVideo/YouerLiveVideo/util/network.swift
... | ... | @@ -308,43 +308,43 @@ final class HTTPServer{ |
308 | 308 | |
309 | 309 | //MARK:-DataStatistics |
310 | 310 | //获取前十学校的综合排行 |
311 | - func getSchoolGeneral(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){ | |
312 | - KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETSCHOOLGENERAL, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler) | |
311 | + func getSchoolGeneral(completionHandler:@escaping (String?, NSError?) -> ()){ | |
312 | + KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETSCHOOLGENERAL,headers:["Authorization":token!], completionHandler: completionHandler) | |
313 | 313 | } |
314 | 314 | |
315 | 315 | //获取前十学校的阅读量排行 |
316 | - func getSchoolPv(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){ | |
317 | - KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETSCHOOLPV, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler) | |
316 | + func getSchoolPv(completionHandler:@escaping (String?, NSError?) -> ()){ | |
317 | + KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETSCHOOLPV, headers:["Authorization":token!], completionHandler: completionHandler) | |
318 | 318 | } |
319 | 319 | |
320 | 320 | //获取排行前十学校的下载量 |
321 | - func getSchoolDownloads(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){ | |
322 | - KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETSCHOOLDOWNLOADS, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler) | |
321 | + func getSchoolDownloads(completionHandler:@escaping (String?, NSError?) -> ()){ | |
322 | + KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETSCHOOLDOWNLOADS,headers:["Authorization":token!], completionHandler: completionHandler) | |
323 | 323 | } |
324 | 324 | |
325 | 325 | //获取排行前十学校的上传数 |
326 | - func getSchoolUpload(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){ | |
327 | - KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETSCHOOLUPLOAD, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler) | |
326 | + func getSchoolUpload(completionHandler:@escaping (String?, NSError?) -> ()){ | |
327 | + KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETSCHOOLUPLOAD,headers:["Authorization":token!], completionHandler: completionHandler) | |
328 | 328 | } |
329 | 329 | |
330 | 330 | //获取排行前十的教师的综合数 |
331 | - func getTeacherGenerals(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){ | |
332 | - KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETTEACHERGENERALS, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler) | |
331 | + func getTeacherGenerals(completionHandler:@escaping (String?, NSError?) -> ()){ | |
332 | + KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETTEACHERGENERALS,headers:["Authorization":token!], completionHandler: completionHandler) | |
333 | 333 | } |
334 | 334 | |
335 | 335 | //获取排名前十的教师发的资源的阅读量 |
336 | - func getTeacherPvs(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){ | |
337 | - KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETTEACHERPVS, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler) | |
336 | + func getTeacherPvs(completionHandler:@escaping (String?, NSError?) -> ()){ | |
337 | + KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETTEACHERPVS, headers:["Authorization":token!], completionHandler: completionHandler) | |
338 | 338 | } |
339 | 339 | |
340 | 340 | //获取排名前十的资源的下载量 |
341 | - func getTeacherDownload(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){ | |
342 | - KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETTEACHERDOWNLOAD, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler) | |
341 | + func getTeacherDownload(completionHandler:@escaping (String?, NSError?) -> ()){ | |
342 | + KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETTEACHERDOWNLOAD, headers:["Authorization":token!], completionHandler: completionHandler) | |
343 | 343 | } |
344 | 344 | |
345 | 345 | //获取排名前十的教师的上传量 |
346 | - func getTeacherUpload(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){ | |
347 | - KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETTEACHERUPLOAD, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler) | |
346 | + func getTeacherUpload(completionHandler:@escaping (String?, NSError?) -> ()){ | |
347 | + KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETTEACHERUPLOAD,headers:["Authorization":token!], completionHandler: completionHandler) | |
348 | 348 | } |
349 | 349 | |
350 | 350 | //分页获取排行榜 | ... | ... |
YouerLiveVideo/YouerLiveVideo/util/utiles.swift
... | ... | @@ -49,7 +49,7 @@ class AlertController { |
49 | 49 | } |
50 | 50 | class Theme{ |
51 | 51 | static func topBarColor()->UIColor{ |
52 | - return UIColorFromRGB(0xff6533)//UIColorFromRGB(0xff9b34)f6595f | |
52 | + return UIColorFromRGB(0x1CA2FF)//UIColorFromRGB(0xff9b34)f6595f | |
53 | 53 | } |
54 | 54 | ///按钮样式 |
55 | 55 | static func configButton(_ button:UIButton){ |
... | ... | @@ -191,7 +191,15 @@ class indexLongPressGesture: UILongPressGestureRecognizer { |
191 | 191 | class indexUIMenuItem: UIMenuItem { |
192 | 192 | var indexPath:IndexPath? |
193 | 193 | } |
194 | - | |
194 | +//获取元素在数组中的位置 | |
195 | +func getCurrentIndex(item:Int,arry:[Int])->Int{ | |
196 | + for i in 0..<arry.count { | |
197 | + if arry[i]==item{ | |
198 | + return i | |
199 | + } | |
200 | + } | |
201 | + return 0 | |
202 | +} | |
195 | 203 | //图片缩放 |
196 | 204 | extension UIImage{ |
197 | 205 | func imageScaledToScale(_ scale:CGFloat)->UIImage{ | ... | ... |