Commit ab380ebb6e4e57bee87174f5d1652ff021411e14

Authored by 葛建军
2 parents fc612f20 8dbe7b89
Exists in newLive

Merge branch 'newLive' of http://git.shunzhi.net/iosgroup/newlive into newLive

YouerLiveVideo/YouerLiveVideo/controllers/TVStation/SearchTVStationListViewController.swift
... ... @@ -10,6 +10,9 @@ import UIKit
10 10  
11 11 class SearchTVStationListViewController: UIViewController {
12 12 var alList:[String] = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
  13 +
  14 + @IBOutlet weak var selectView: UIView!
  15 +
13 16 override func viewDidLoad() {
14 17 super.viewDidLoad()
15 18 // Do any additional setup after loading the view.
... ... @@ -39,7 +42,7 @@ extension SearchTVStationListViewController:UITableViewDataSource,UITableViewDel
39 42 }
40 43  
41 44 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
42   - return 3
  45 + return 1
43 46 }
44 47  
45 48 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
... ...
YouerLiveVideo/YouerLiveVideo/controllers/TVStation/TVStation.storyboard
1 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">
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12120" systemVersion="16A323" 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   - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11757"/>
  7 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12088"/>
8 8 <capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
9 9 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
10 10 </dependencies>
... ... @@ -89,37 +89,200 @@
89 89 <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
90 90 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
91 91 <subviews>
92   - <searchBar contentMode="redraw" translatesAutoresizingMaskIntoConstraints="NO" id="ChK-me-hP6">
  92 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LO5-7p-BlF">
  93 + <rect key="frame" x="0.0" y="92" width="375" height="575"/>
  94 + <subviews>
  95 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="pA5-mr-wp5">
  96 + <rect key="frame" x="0.0" y="0.0" width="375" height="48"/>
  97 + <subviews>
  98 + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fd9-K0-dbd">
  99 + <rect key="frame" x="0.0" y="0.0" width="375" height="48"/>
  100 + <state key="normal" title="Button"/>
  101 + </button>
  102 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Unb-Qo-FiA">
  103 + <rect key="frame" x="16" y="0.0" width="343" height="0.0"/>
  104 + <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
  105 + <constraints>
  106 + <constraint firstAttribute="height" id="BI9-34-fQB"/>
  107 + </constraints>
  108 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  109 + <nil key="textColor"/>
  110 + <nil key="highlightedColor"/>
  111 + </label>
  112 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="小学" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rF3-mJ-pPr">
  113 + <rect key="frame" x="169.5" y="13" width="35" height="21"/>
  114 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  115 + <nil key="textColor"/>
  116 + <nil key="highlightedColor"/>
  117 + </label>
  118 + </subviews>
  119 + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
  120 + <constraints>
  121 + <constraint firstAttribute="bottom" secondItem="fd9-K0-dbd" secondAttribute="bottom" id="6rw-GD-06f"/>
  122 + <constraint firstItem="rF3-mJ-pPr" firstAttribute="centerY" secondItem="pA5-mr-wp5" secondAttribute="centerY" id="Ncu-FL-IUg"/>
  123 + <constraint firstItem="fd9-K0-dbd" firstAttribute="top" secondItem="pA5-mr-wp5" secondAttribute="top" id="S2u-C5-cpE"/>
  124 + <constraint firstAttribute="trailing" secondItem="Unb-Qo-FiA" secondAttribute="trailing" constant="16" id="Wee-qc-CcZ"/>
  125 + <constraint firstAttribute="trailing" secondItem="fd9-K0-dbd" secondAttribute="trailing" id="Wz9-N2-5FD"/>
  126 + <constraint firstAttribute="height" constant="48" id="YGb-kx-Bvs"/>
  127 + <constraint firstItem="Unb-Qo-FiA" firstAttribute="leading" secondItem="pA5-mr-wp5" secondAttribute="leading" constant="16" id="eAi-qh-uTW"/>
  128 + <constraint firstItem="fd9-K0-dbd" firstAttribute="leading" secondItem="pA5-mr-wp5" secondAttribute="leading" id="lsn-sl-gUI"/>
  129 + <constraint firstItem="rF3-mJ-pPr" firstAttribute="centerX" secondItem="pA5-mr-wp5" secondAttribute="centerX" id="sKe-eU-InU"/>
  130 + <constraint firstItem="Unb-Qo-FiA" firstAttribute="top" secondItem="pA5-mr-wp5" secondAttribute="top" id="zmH-Rb-P8G"/>
  131 + </constraints>
  132 + </view>
  133 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="pKJ-J9-5CR">
  134 + <rect key="frame" x="0.0" y="48" width="375" height="48"/>
  135 + <subviews>
  136 + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="veE-AU-inD">
  137 + <rect key="frame" x="0.0" y="0.0" width="375" height="48"/>
  138 + <state key="normal" title="Button"/>
  139 + </button>
  140 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ma4-Vs-Ai5">
  141 + <rect key="frame" x="16" y="0.0" width="343" height="0.0"/>
  142 + <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
  143 + <constraints>
  144 + <constraint firstAttribute="height" id="jyL-SO-bbs"/>
  145 + </constraints>
  146 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  147 + <nil key="textColor"/>
  148 + <nil key="highlightedColor"/>
  149 + </label>
  150 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="初中" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FLD-Vw-eZ9">
  151 + <rect key="frame" x="169.5" y="13" width="35" height="21"/>
  152 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  153 + <nil key="textColor"/>
  154 + <nil key="highlightedColor"/>
  155 + </label>
  156 + </subviews>
  157 + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
  158 + <constraints>
  159 + <constraint firstItem="ma4-Vs-Ai5" firstAttribute="top" secondItem="pKJ-J9-5CR" secondAttribute="top" id="Em3-dK-r7A"/>
  160 + <constraint firstItem="veE-AU-inD" firstAttribute="top" secondItem="pKJ-J9-5CR" secondAttribute="top" id="FHs-Rr-oDw"/>
  161 + <constraint firstItem="FLD-Vw-eZ9" firstAttribute="centerX" secondItem="pKJ-J9-5CR" secondAttribute="centerX" id="MaF-vn-NFk"/>
  162 + <constraint firstItem="FLD-Vw-eZ9" firstAttribute="centerY" secondItem="pKJ-J9-5CR" secondAttribute="centerY" id="OSS-PS-lIG"/>
  163 + <constraint firstAttribute="trailing" secondItem="ma4-Vs-Ai5" secondAttribute="trailing" constant="16" id="TK9-u0-NYJ"/>
  164 + <constraint firstAttribute="trailing" secondItem="veE-AU-inD" secondAttribute="trailing" id="he0-3w-aKO"/>
  165 + <constraint firstItem="ma4-Vs-Ai5" firstAttribute="leading" secondItem="pKJ-J9-5CR" secondAttribute="leading" constant="16" id="hvr-W0-KtG"/>
  166 + <constraint firstItem="veE-AU-inD" firstAttribute="leading" secondItem="pKJ-J9-5CR" secondAttribute="leading" id="iIG-ef-wiQ"/>
  167 + <constraint firstAttribute="bottom" secondItem="veE-AU-inD" secondAttribute="bottom" id="nnX-Fn-UsA"/>
  168 + <constraint firstAttribute="height" constant="48" id="zHI-3d-Hhy"/>
  169 + </constraints>
  170 + </view>
  171 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jQ0-hJ-LW9">
  172 + <rect key="frame" x="0.0" y="96" width="375" height="48"/>
  173 + <subviews>
  174 + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="rrk-re-JuF">
  175 + <rect key="frame" x="0.0" y="0.0" width="375" height="48"/>
  176 + <state key="normal" title="Button"/>
  177 + </button>
  178 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TwL-7i-SFE">
  179 + <rect key="frame" x="16" y="0.0" width="343" height="0.0"/>
  180 + <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
  181 + <constraints>
  182 + <constraint firstAttribute="height" id="wf7-2t-CcQ"/>
  183 + </constraints>
  184 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  185 + <nil key="textColor"/>
  186 + <nil key="highlightedColor"/>
  187 + </label>
  188 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="高中" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bx3-SK-e4z">
  189 + <rect key="frame" x="169.5" y="13" width="35" height="21"/>
  190 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  191 + <nil key="textColor"/>
  192 + <nil key="highlightedColor"/>
  193 + </label>
  194 + </subviews>
  195 + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
  196 + <constraints>
  197 + <constraint firstAttribute="bottom" secondItem="rrk-re-JuF" secondAttribute="bottom" id="1aG-FJ-kgi"/>
  198 + <constraint firstItem="rrk-re-JuF" firstAttribute="top" secondItem="jQ0-hJ-LW9" secondAttribute="top" id="4mU-tH-19D"/>
  199 + <constraint firstItem="rrk-re-JuF" firstAttribute="leading" secondItem="jQ0-hJ-LW9" secondAttribute="leading" id="8FP-Fd-szb"/>
  200 + <constraint firstAttribute="trailing" secondItem="TwL-7i-SFE" secondAttribute="trailing" constant="16" id="FJF-cd-6MQ"/>
  201 + <constraint firstItem="TwL-7i-SFE" firstAttribute="top" secondItem="jQ0-hJ-LW9" secondAttribute="top" id="HJS-18-xud"/>
  202 + <constraint firstAttribute="height" constant="48" id="L2i-9Z-Zje"/>
  203 + <constraint firstItem="TwL-7i-SFE" firstAttribute="leading" secondItem="jQ0-hJ-LW9" secondAttribute="leading" constant="16" id="WjE-rt-bZ1"/>
  204 + <constraint firstAttribute="trailing" secondItem="rrk-re-JuF" secondAttribute="trailing" id="ech-I6-0JJ"/>
  205 + <constraint firstItem="bx3-SK-e4z" firstAttribute="centerX" secondItem="jQ0-hJ-LW9" secondAttribute="centerX" id="l2K-Ec-fBQ"/>
  206 + <constraint firstItem="bx3-SK-e4z" firstAttribute="centerY" secondItem="jQ0-hJ-LW9" secondAttribute="centerY" id="yXB-yv-iX2"/>
  207 + </constraints>
  208 + </view>
  209 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="PdH-vs-Gjn">
  210 + <rect key="frame" x="0.0" y="144" width="375" height="48"/>
  211 + <subviews>
  212 + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bqH-ub-Nyu">
  213 + <rect key="frame" x="0.0" y="0.0" width="375" height="48"/>
  214 + <state key="normal" title="Button"/>
  215 + </button>
  216 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BGW-tg-2H6">
  217 + <rect key="frame" x="16" y="0.0" width="343" height="0.0"/>
  218 + <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
  219 + <constraints>
  220 + <constraint firstAttribute="height" id="eIc-hV-0qY"/>
  221 + </constraints>
  222 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  223 + <nil key="textColor"/>
  224 + <nil key="highlightedColor"/>
  225 + </label>
  226 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="全部学段" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VfQ-qt-gdx">
  227 + <rect key="frame" x="152.5" y="13" width="69.5" height="21"/>
  228 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  229 + <nil key="textColor"/>
  230 + <nil key="highlightedColor"/>
  231 + </label>
  232 + </subviews>
  233 + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
  234 + <constraints>
  235 + <constraint firstItem="BGW-tg-2H6" firstAttribute="leading" secondItem="PdH-vs-Gjn" secondAttribute="leading" constant="16" id="46b-DV-o1H"/>
  236 + <constraint firstAttribute="trailing" secondItem="bqH-ub-Nyu" secondAttribute="trailing" id="8sC-if-wSg"/>
  237 + <constraint firstAttribute="height" constant="48" id="Kcs-Jq-OVL"/>
  238 + <constraint firstItem="VfQ-qt-gdx" firstAttribute="centerY" secondItem="PdH-vs-Gjn" secondAttribute="centerY" id="OqZ-vB-B5C"/>
  239 + <constraint firstAttribute="trailing" secondItem="BGW-tg-2H6" secondAttribute="trailing" constant="16" id="Rw7-eI-JeT"/>
  240 + <constraint firstItem="VfQ-qt-gdx" firstAttribute="centerX" secondItem="PdH-vs-Gjn" secondAttribute="centerX" id="UYW-un-bnL"/>
  241 + <constraint firstItem="bqH-ub-Nyu" firstAttribute="leading" secondItem="PdH-vs-Gjn" secondAttribute="leading" id="gA6-4E-cUz"/>
  242 + <constraint firstAttribute="bottom" secondItem="bqH-ub-Nyu" secondAttribute="bottom" id="kIr-4b-3GM"/>
  243 + <constraint firstItem="BGW-tg-2H6" firstAttribute="top" secondItem="PdH-vs-Gjn" secondAttribute="top" id="waV-La-z9s"/>
  244 + <constraint firstItem="bqH-ub-Nyu" firstAttribute="top" secondItem="PdH-vs-Gjn" secondAttribute="top" id="z5F-fk-r4o"/>
  245 + </constraints>
  246 + </view>
  247 + </subviews>
  248 + <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
  249 + <constraints>
  250 + <constraint firstItem="pKJ-J9-5CR" firstAttribute="top" secondItem="pA5-mr-wp5" secondAttribute="bottom" id="As5-CP-OI8"/>
  251 + <constraint firstItem="PdH-vs-Gjn" firstAttribute="leading" secondItem="LO5-7p-BlF" secondAttribute="leading" id="EiX-RE-2mV"/>
  252 + <constraint firstItem="pA5-mr-wp5" firstAttribute="leading" secondItem="LO5-7p-BlF" secondAttribute="leading" id="NGc-W1-gFS"/>
  253 + <constraint firstItem="jQ0-hJ-LW9" firstAttribute="top" secondItem="pKJ-J9-5CR" secondAttribute="bottom" id="Rxs-mm-zbn"/>
  254 + <constraint firstItem="jQ0-hJ-LW9" firstAttribute="leading" secondItem="LO5-7p-BlF" secondAttribute="leading" id="SBR-LH-mkw"/>
  255 + <constraint firstItem="PdH-vs-Gjn" firstAttribute="top" secondItem="jQ0-hJ-LW9" secondAttribute="bottom" id="gRO-D5-TbH"/>
  256 + <constraint firstItem="pKJ-J9-5CR" firstAttribute="leading" secondItem="LO5-7p-BlF" secondAttribute="leading" id="krW-ip-UgT"/>
  257 + <constraint firstAttribute="trailing" secondItem="pA5-mr-wp5" secondAttribute="trailing" id="n92-8Z-2xl"/>
  258 + <constraint firstAttribute="trailing" secondItem="PdH-vs-Gjn" secondAttribute="trailing" id="nWt-wP-1JQ"/>
  259 + <constraint firstItem="pA5-mr-wp5" firstAttribute="top" secondItem="LO5-7p-BlF" secondAttribute="top" id="nsI-me-a5D"/>
  260 + <constraint firstAttribute="trailing" secondItem="pKJ-J9-5CR" secondAttribute="trailing" id="pqL-tc-0qy"/>
  261 + <constraint firstAttribute="trailing" secondItem="jQ0-hJ-LW9" secondAttribute="trailing" id="yc8-tE-p0i"/>
  262 + </constraints>
  263 + </view>
  264 + <searchBar contentMode="redraw" placeholder="搜索" translatesAutoresizingMaskIntoConstraints="NO" id="ChK-me-hP6">
93 265 <rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
94 266 <constraints>
95 267 <constraint firstAttribute="height" constant="44" id="wzh-nF-6vU"/>
96 268 </constraints>
97 269 <textInputTraits key="textInputTraits"/>
98 270 </searchBar>
99   - <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="E6Y-S5-ZKk">
100   - <rect key="frame" x="0.0" y="44" width="46" height="30"/>
101   - <constraints>
102   - <constraint firstAttribute="height" constant="30" id="M1h-gI-79A"/>
103   - <constraint firstAttribute="width" constant="46" id="rQm-Xx-7cb"/>
104   - </constraints>
105   - <state key="normal" title="Button"/>
106   - </button>
107 271 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="DWH-iG-AGA">
108   - <rect key="frame" x="46" y="44" width="329" height="30"/>
  272 + <rect key="frame" x="0.0" y="44" width="375" height="48"/>
109 273 <constraints>
110   - <constraint firstAttribute="height" constant="30" id="ikm-dk-mzG"/>
  274 + <constraint firstAttribute="height" constant="48" id="ikm-dk-mzG"/>
111 275 </constraints>
112   - <state key="normal" title="Button"/>
113 276 </button>
114 277 <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="123" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="o4U-1y-nqL">
115   - <rect key="frame" x="0.0" y="74" width="375" height="593"/>
  278 + <rect key="frame" x="0.0" y="92" width="375" height="575"/>
116 279 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
117 280 <prototypes>
118 281 <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="123" id="MMn-tR-I0v">
119 282 <rect key="frame" x="0.0" y="28" width="375" height="123"/>
120 283 <autoresizingMask key="autoresizingMask"/>
121 284 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="MMn-tR-I0v" id="H7d-Zz-WAS">
122   - <rect key="frame" x="0.0" y="0.0" width="375" height="122"/>
  285 + <rect key="frame" x="0.0" y="0.0" width="375" height="123"/>
123 286 <autoresizingMask key="autoresizingMask"/>
124 287 <subviews>
125 288 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9Yk-8z-nas">
... ... @@ -166,20 +329,24 @@
166 329 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
167 330 <constraints>
168 331 <constraint firstAttribute="trailing" secondItem="o4U-1y-nqL" secondAttribute="trailing" id="6aw-Wu-lvQ"/>
169   - <constraint firstItem="DWH-iG-AGA" firstAttribute="leading" secondItem="E6Y-S5-ZKk" secondAttribute="trailing" id="853-mG-r6G"/>
170   - <constraint firstItem="E6Y-S5-ZKk" firstAttribute="top" secondItem="ChK-me-hP6" secondAttribute="bottom" id="8CV-HS-WH8"/>
  332 + <constraint firstItem="LO5-7p-BlF" firstAttribute="leading" secondItem="cjj-7m-eAq" secondAttribute="leading" id="NYD-jI-WGE"/>
171 333 <constraint firstItem="DWH-iG-AGA" firstAttribute="top" secondItem="ChK-me-hP6" secondAttribute="bottom" id="OJG-ox-1L1"/>
172   - <constraint firstItem="DWH-iG-AGA" firstAttribute="leading" secondItem="E6Y-S5-ZKk" secondAttribute="trailing" id="QwD-fz-uia"/>
  334 + <constraint firstItem="DWH-iG-AGA" firstAttribute="leading" secondItem="cjj-7m-eAq" secondAttribute="leading" id="TKP-Gf-d9n"/>
  335 + <constraint firstItem="14l-HJ-g5s" firstAttribute="top" secondItem="LO5-7p-BlF" secondAttribute="bottom" id="VFT-qT-lpJ"/>
  336 + <constraint firstAttribute="trailing" secondItem="LO5-7p-BlF" secondAttribute="trailing" id="Vi7-T1-ipE"/>
173 337 <constraint firstItem="ChK-me-hP6" firstAttribute="top" secondItem="cjj-7m-eAq" secondAttribute="top" id="dpW-I0-30v"/>
174 338 <constraint firstItem="14l-HJ-g5s" firstAttribute="top" secondItem="o4U-1y-nqL" secondAttribute="bottom" id="fSk-oc-iab"/>
175 339 <constraint firstAttribute="trailing" secondItem="DWH-iG-AGA" secondAttribute="trailing" id="hha-QC-DTt"/>
176 340 <constraint firstItem="o4U-1y-nqL" firstAttribute="leading" secondItem="cjj-7m-eAq" secondAttribute="leading" id="j5g-by-76o"/>
  341 + <constraint firstItem="LO5-7p-BlF" firstAttribute="top" secondItem="DWH-iG-AGA" secondAttribute="bottom" id="om1-z7-AYr"/>
177 342 <constraint firstAttribute="trailing" secondItem="ChK-me-hP6" secondAttribute="trailing" id="pC3-2b-J0P"/>
178 343 <constraint firstItem="ChK-me-hP6" firstAttribute="leading" secondItem="cjj-7m-eAq" secondAttribute="leading" id="uMH-Xr-Czy"/>
179 344 <constraint firstItem="o4U-1y-nqL" firstAttribute="top" secondItem="DWH-iG-AGA" secondAttribute="bottom" id="zEQ-6J-fPf"/>
180   - <constraint firstItem="E6Y-S5-ZKk" firstAttribute="leading" secondItem="cjj-7m-eAq" secondAttribute="leading" id="zYQ-nv-0ym"/>
181 345 </constraints>
182 346 </view>
  347 + <connections>
  348 + <outlet property="selectView" destination="LO5-7p-BlF" id="BCJ-8J-krQ"/>
  349 + </connections>
183 350 </viewController>
184 351 <placeholder placeholderIdentifier="IBFirstResponder" id="aje-z7-dD9" userLabel="First Responder" sceneMemberID="firstResponder"/>
185 352 </objects>
... ...
YouerLiveVideo/YouerLiveVideo/util/network.swift
... ... @@ -93,6 +93,7 @@ final class HTTPServer{
93 93  
94 94 static let URL_OAUTH_TOKEN=HOST+"/OAuth/Token" //登录
95 95  
  96 + //MARK:-Account(url)
96 97 static let URL_ACCOUNTPHONECAPTCHA=HOST+"/api/Account/PhoneCaptcha" //获取验证码
97 98 static let URL_ACCOUNTCREATEUSER=HOST+"/api/Account/CreateUser" //游客注册
98 99 static let URL_ACCOUNTUPDATEPASSWORD=HOST+"/api/Account/UpdatePassword" //重设密码
... ... @@ -101,6 +102,7 @@ final class HTTPServer{
101 102 static let URL_ACCOUNTUPDATEUSER=HOST+"/api/Account/Updateuser" //修改用户信息
102 103 static let URL_ACCOUNTADDUSER=HOST+"/api/Account/AddUser" //
103 104  
  105 + //MARK:-Common(url)
104 106 static let URL_COMMONGETCOURSEWAREVERSIONS=HOST+"/api/Common/GetCourseWareVersions" //获取所有的教材版本
105 107 static let URL_COMMONGETSUBJECTS=HOST+"/api/Common/GetSubjects" //获取学科
106 108 static let URL_COMMONGETSCHOOLTYPES=HOST+"/api/Common/GetSchoolTypes" //获取学段
... ... @@ -109,6 +111,7 @@ final class HTTPServer{
109 111 static let URL_COMMONGETCOURSEWAVES=HOST+"/api/Common/GetCourseWaves" //获取教材
110 112 static let URL_UPLOAD_FILE=HOST+"/api/Common/UploadFile" //文件上传接口,接受图片(gif,jpg,jpeg,png,bmp)、视频(flv,mp4)、音频(mp3,aac)
111 113  
  114 + //MARK:-Course(url)
112 115 static let URL_COURSEGETHOTRESCOURSE=HOST+"/api/Course/GetHotRescourse" //获取热门微课/课件/电视台节目
113 116 static let URL_COURSEGETRESOURCECOUNT=HOST+"/api/Course/GetResourceCount" //获取微课/课件/电视台节目的总数量
114 117 static let URL_COURSEGETTOPTENSCHOOL=HOST+"/api/Course/GetTopTenSchool" //获取十佳校园电视台
... ... @@ -121,6 +124,31 @@ final class HTTPServer{
121 124 static let URL_COURSEGETTESTCATAGORY=HOST+"/api/Course/GetTestCatagory" //获取考点目录(已初始化成ztree所要求的格式)
122 125 static let URL_COURSEGETTELEVISIONSTATIONCATAGORY=HOST+"/api/Course/GetTelevisionStationCatagory" //获取电视台目录
123 126  
  127 + //MARK:-DataStatistics(url)
  128 + static let URL_DATASTATISTICGETSCHOOLGENERAL=HOST+"/api/DataStatistics/GetSchoolGeneral" //获取前十学校的综合排行
  129 + static let URL_DATASTATISTICGETSCHOOLPV=HOST+"/api/DataStatistics/GetSchoolPv" //获取前十学校的阅读量排行
  130 + static let URL_DATASTATISTICGETSCHOOLDOWNLOADS=HOST+"/api/DataStatistics/GetSchoolDownloads" //获取排行前十学校的下载量
  131 + static let URL_DATASTATISTICGETSCHOOLUPLOAD=HOST+"/api/DataStatistics/GetSchoolUpload" //获取排行前十学校的上传数
  132 + static let URL_DATASTATISTICGETTEACHERGENERALS=HOST+"/api/DataStatistics/GetTeacherGenerals" //获取排行前十的教师的综合数
  133 + static let URL_DATASTATISTICGETTEACHERPVS=HOST+"/api/DataStatistics/GetTeacherPvs" //获取排名前十的教师发的资源的阅读量
  134 + static let URL_DATASTATISTICGETTEACHERDOWNLOAD=HOST+"/api/DataStatistics/GetTeacherDownload" //获取排名前十的资源的下载量
  135 + static let URL_DATASTATISTICGETTEACHERUPLOAD=HOST+"/api/DataStatistics/GetTeacherUpload" //获取排名前十的教师的上传量
  136 + static let URL_DATASTATISTICGETGETRANKSBYPAGE=HOST+"/api/DataStatistics/GetRanksByPage" //分页获取排行榜
  137 +
  138 + //MARK:-UserCenter(url)
  139 + static let URL_USERCENTERGETMYALLRESOURCES=HOST+"/api/UserCenter/GetMyAllResources" //获取我的资源
  140 + static let URL_USERCENTERGETALLRESOURCES=HOST+"/api/UserCenter/GetAllResources" //获取校本资源
  141 + static let URL_USERCENTERGETADDRESOURCE=HOST+"/api/UserCenter/AddResource" //上传资源/微课/校园电视台
  142 + static let URL_USERCENTERGETUPDATERESOURCE=HOST+"/api/UserCenter/UpdateResource" //修改资源/微课/校园电视台
  143 + static let URL_USERCENTERGETEXAMINERESOURCE=HOST+"/api/UserCenter/ExamineResource" //审核资源/微课/校园电视台
  144 + static let URL_USERCENTERGETDELETERESOURCE=HOST+"/api/UserCenter/DeleteResource" //删除资源/微课/校园电视台
  145 + static let URL_USERCENTERGETHIDERESOURCE=HOST+"/api/UserCenter/HideResource" //隐藏资源/微课/校园电视台
  146 + static let URL_USERCENTERGETUPDATEDOWNLOADSUM=HOST+"/api/UserCenter/UpdateDownloadSum" //资源下载时更新下载量
  147 + static let URL_USERCENTERGETGETHISTORYVIEW=HOST+"/api/UserCenter/GetHistroyView" //历史记录
  148 + static let URL_USERCENTERGETADDHISTORYVIEW=HOST+"/api/UserCenter/AddHistoryView" //添加历史记录
  149 + static let URL_USERCENTERGETGETMYUSER=HOST+"/api/UserCenter/GetMyUser" //已开设账号
  150 + static let URL_USERCENTERGETADDUSER=HOST+"/api/UserCenter/AddUser" //开设学生账号
  151 +
124 152  
125 153 var token:String?{
126 154 return accountManager.token
... ... @@ -261,9 +289,116 @@ final class HTTPServer{
261 289 func getTelevisionStationCatagory(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
262 290 KHttp.GET(url: HTTPServer.URL_COURSEGETTELEVISIONSTATIONCATAGORY, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
263 291 }
  292 +
  293 +
264 294 //MARK:-DataStatistics
  295 + //获取前十学校的综合排行
  296 + func getSchoolGeneral(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  297 + KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETSCHOOLGENERAL, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  298 + }
  299 +
  300 + //获取前十学校的阅读量排行
  301 + func getSchoolPv(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  302 + KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETSCHOOLPV, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  303 + }
  304 +
  305 + //获取排行前十学校的下载量
  306 + func getSchoolDownloads(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  307 + KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETSCHOOLDOWNLOADS, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  308 + }
  309 +
  310 + //获取排行前十学校的上传数
  311 + func getSchoolUpload(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  312 + KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETSCHOOLUPLOAD, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  313 + }
  314 +
  315 + //获取排行前十的教师的综合数
  316 + func getTeacherGenerals(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  317 + KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETTEACHERGENERALS, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  318 + }
  319 +
  320 + //获取排名前十的教师发的资源的阅读量
  321 + func getTeacherPvs(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  322 + KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETTEACHERPVS, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  323 + }
  324 +
  325 + //获取排名前十的资源的下载量
  326 + func getTeacherDownload(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  327 + KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETTEACHERDOWNLOAD, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  328 + }
  329 +
  330 + //获取排名前十的教师的上传量
  331 + func getTeacherUpload(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  332 + KHttp.GET(url: HTTPServer.URL_DATASTATISTICGETTEACHERUPLOAD, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  333 + }
  334 +
  335 + //分页获取排行榜
  336 + func getRanksByPage(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  337 + KHttp.POST(url: HTTPServer.URL_DATASTATISTICGETGETRANKSBYPAGE, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  338 + }
  339 +
  340 +
265 341 //MARK:-UserCenter
266   -
  342 + //获取我的资源
  343 + func getMyAllResources(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  344 + KHttp.POST(url: HTTPServer.URL_USERCENTERGETMYALLRESOURCES, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  345 + }
  346 +
  347 + //获取校本资源
  348 + func getAllResources(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  349 + KHttp.POST(url: HTTPServer.URL_USERCENTERGETALLRESOURCES, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  350 + }
  351 +
  352 + //上传资源/微课/校园电视台
  353 + func addResource(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  354 + KHttp.POST(url: HTTPServer.URL_USERCENTERGETADDRESOURCE, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  355 + }
  356 +
  357 + //修改资源/微课/校园电视台
  358 + func updateResource(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  359 + KHttp.POST(url: HTTPServer.URL_USERCENTERGETUPDATERESOURCE, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  360 + }
  361 +
  362 + //审核资源/微课/校园电视台
  363 + func examineResource(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  364 + KHttp.GET(url: HTTPServer.URL_USERCENTERGETEXAMINERESOURCE, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  365 + }
  366 +
  367 + //删除资源/微课/校园电视台
  368 + func deleteResource(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  369 + KHttp.GET(url: HTTPServer.URL_USERCENTERGETDELETERESOURCE, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  370 + }
  371 +
  372 + //隐藏资源/微课/校园电视台
  373 + func hideResource(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  374 + KHttp.GET(url: HTTPServer.URL_USERCENTERGETHIDERESOURCE, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  375 + }
  376 +
  377 + //资源下载时更新下载量
  378 + func updateDownloadSum(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  379 + KHttp.GET(url: HTTPServer.URL_USERCENTERGETUPDATEDOWNLOADSUM, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  380 + }
  381 +
  382 + //历史记录
  383 + func getHistroyView(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  384 + KHttp.POST(url: HTTPServer.URL_USERCENTERGETGETHISTORYVIEW, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  385 + }
  386 +
  387 + //添加历史记录
  388 + func addHistoryView(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  389 + KHttp.POST(url: HTTPServer.URL_USERCENTERGETADDHISTORYVIEW, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  390 + }
  391 +
  392 + //已开设账号
  393 + func getMyUser(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  394 + KHttp.POST(url: HTTPServer.URL_USERCENTERGETGETMYUSER, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  395 + }
  396 +
  397 + //开设学生账号
  398 + func addUser(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){
  399 + KHttp.POST(url: HTTPServer.URL_USERCENTERGETADDUSER, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler)
  400 + }
  401 +
267 402  
268 403 }
269 404 let SERVER_MESSAGE=393939
... ...