Commit 7ed310793e58a0abe45bca8c41087c460bdff6b2
1 parent
67db43ab
Exists in
newLive
资源排序筛选界面学段,年级,学科搭建及数据处理,图标导入及添加。
Showing
54 changed files
with
1010 additions
and
74 deletions
Show diff stats
YouerLiveVideo/YouerLiveVideo.xcodeproj/project.pbxproj
| ... | ... | @@ -140,6 +140,10 @@ |
| 140 | 140 | BF6977981E2DEC98006FA934 /* userId.png in Resources */ = {isa = PBXBuildFile; fileRef = BF6977951E2DEC98006FA934 /* userId.png */; }; |
| 141 | 141 | BF6977991E2DEC98006FA934 /* userPassword.png in Resources */ = {isa = PBXBuildFile; fileRef = BF6977961E2DEC98006FA934 /* userPassword.png */; }; |
| 142 | 142 | BF7722F31ED283D400226D44 /* FilterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF7722F21ED283D400226D44 /* FilterViewController.swift */; }; |
| 143 | + BF7722F71ED3C3CD00226D44 /* FilterView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BF7722F61ED3C3CD00226D44 /* FilterView.xib */; }; | |
| 144 | + BF7722F91ED3C3E900226D44 /* FilterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF7722F81ED3C3E900226D44 /* FilterView.swift */; }; | |
| 145 | + BF7722FC1ED3C54B00226D44 /* FilterCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF7722FA1ED3C54B00226D44 /* FilterCollectionViewCell.swift */; }; | |
| 146 | + BF7722FD1ED3C54B00226D44 /* FilterCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BF7722FB1ED3C54B00226D44 /* FilterCollectionViewCell.xib */; }; | |
| 143 | 147 | BF7B75961E305A6D0011D5C7 /* MJRefreshAutoFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = BF7B756A1E305A6D0011D5C7 /* MJRefreshAutoFooter.m */; }; |
| 144 | 148 | BF7B75971E305A6D0011D5C7 /* MJRefreshBackFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = BF7B756C1E305A6D0011D5C7 /* MJRefreshBackFooter.m */; }; |
| 145 | 149 | BF7B75981E305A6D0011D5C7 /* MJRefreshComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = BF7B756E1E305A6D0011D5C7 /* MJRefreshComponent.m */; }; |
| ... | ... | @@ -460,6 +464,10 @@ |
| 460 | 464 | BF6977951E2DEC98006FA934 /* userId.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = userId.png; sourceTree = "<group>"; }; |
| 461 | 465 | BF6977961E2DEC98006FA934 /* userPassword.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = userPassword.png; sourceTree = "<group>"; }; |
| 462 | 466 | BF7722F21ED283D400226D44 /* FilterViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilterViewController.swift; sourceTree = "<group>"; }; |
| 467 | + BF7722F61ED3C3CD00226D44 /* FilterView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FilterView.xib; sourceTree = "<group>"; }; | |
| 468 | + BF7722F81ED3C3E900226D44 /* FilterView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilterView.swift; sourceTree = "<group>"; }; | |
| 469 | + BF7722FA1ED3C54B00226D44 /* FilterCollectionViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilterCollectionViewCell.swift; sourceTree = "<group>"; }; | |
| 470 | + BF7722FB1ED3C54B00226D44 /* FilterCollectionViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FilterCollectionViewCell.xib; sourceTree = "<group>"; }; | |
| 463 | 471 | BF7B75691E305A6D0011D5C7 /* MJRefreshAutoFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshAutoFooter.h; sourceTree = "<group>"; }; |
| 464 | 472 | BF7B756A1E305A6D0011D5C7 /* MJRefreshAutoFooter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MJRefreshAutoFooter.m; sourceTree = "<group>"; }; |
| 465 | 473 | BF7B756B1E305A6D0011D5C7 /* MJRefreshBackFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MJRefreshBackFooter.h; sourceTree = "<group>"; }; |
| ... | ... | @@ -626,6 +634,7 @@ |
| 626 | 634 | 59AE3DFA1ECECD7D003E2C62 /* LiveInforViewController.swift */, |
| 627 | 635 | 59AE3DFC1ECED5B1003E2C62 /* MoivePlayerViewController.swift */, |
| 628 | 636 | 597185B41ECA990C00D7F478 /* Resource.storyboard */, |
| 637 | + BF7722F51ED3C3A500226D44 /* View */, | |
| 629 | 638 | ); |
| 630 | 639 | path = Resource; |
| 631 | 640 | sourceTree = "<group>"; |
| ... | ... | @@ -1048,6 +1057,17 @@ |
| 1048 | 1057 | path = SVProgressHUD; |
| 1049 | 1058 | sourceTree = "<group>"; |
| 1050 | 1059 | }; |
| 1060 | + BF7722F51ED3C3A500226D44 /* View */ = { | |
| 1061 | + isa = PBXGroup; | |
| 1062 | + children = ( | |
| 1063 | + BF7722F81ED3C3E900226D44 /* FilterView.swift */, | |
| 1064 | + BF7722F61ED3C3CD00226D44 /* FilterView.xib */, | |
| 1065 | + BF7722FA1ED3C54B00226D44 /* FilterCollectionViewCell.swift */, | |
| 1066 | + BF7722FB1ED3C54B00226D44 /* FilterCollectionViewCell.xib */, | |
| 1067 | + ); | |
| 1068 | + path = View; | |
| 1069 | + sourceTree = "<group>"; | |
| 1070 | + }; | |
| 1051 | 1071 | BF7B75671E305A6D0011D5C7 /* MJRefresh */ = { |
| 1052 | 1072 | isa = PBXGroup; |
| 1053 | 1073 | children = ( |
| ... | ... | @@ -1404,6 +1424,7 @@ |
| 1404 | 1424 | 599B2CDB1DE52F7E00B4F7FD /* read_me.txt in Resources */, |
| 1405 | 1425 | 59BA13551E25D8DB00540DE0 /* video_brightness_bg@2x.png in Resources */, |
| 1406 | 1426 | 59BA13491E25D8DB00540DE0 /* movieForward.png in Resources */, |
| 1427 | + BF7722FD1ED3C54B00226D44 /* FilterCollectionViewCell.xib in Resources */, | |
| 1407 | 1428 | BFF5F4801DD5AA5C00D33B89 /* 竖屏.png in Resources */, |
| 1408 | 1429 | 599B2CDC1DE52F7E00B4F7FD /* README.txt in Resources */, |
| 1409 | 1430 | BFF5F4811DD5AA5C00D33B89 /* 编辑.png in Resources */, |
| ... | ... | @@ -1420,6 +1441,7 @@ |
| 1420 | 1441 | 5904FC501ECA8B8C00E631FF /* TVStation.storyboard in Resources */, |
| 1421 | 1442 | BF3E4A771E2F30B700D90659 /* 观看人数.png in Resources */, |
| 1422 | 1443 | 599B2CDF1DE52F7E00B4F7FD /* UMSocialSDKResources.bundle in Resources */, |
| 1444 | + BF7722F71ED3C3CD00226D44 /* FilterView.xib in Resources */, | |
| 1423 | 1445 | BFF5F4901DD5B7CA00D33B89 /* Info-tvOS.plist in Resources */, |
| 1424 | 1446 | BFF5F4711DD5AA5C00D33B89 /* attach_file.png in Resources */, |
| 1425 | 1447 | 599B2CD81DE52F7E00B4F7FD /* WeiboSDK.bundle in Resources */, |
| ... | ... | @@ -1470,6 +1492,7 @@ |
| 1470 | 1492 | BF7B75A21E305A6D0011D5C7 /* MJRefreshNormalHeader.m in Sources */, |
| 1471 | 1493 | BF7B75991E305A6D0011D5C7 /* MJRefreshFooter.m in Sources */, |
| 1472 | 1494 | 59F801571DD2C7AE000A78B0 /* YouerLiveVideo.xcdatamodeld in Sources */, |
| 1495 | + BF7722F91ED3C3E900226D44 /* FilterView.swift in Sources */, | |
| 1473 | 1496 | 59BA13311E25D1C000540DE0 /* Reachability.m in Sources */, |
| 1474 | 1497 | BFBB83EB1ECC445D008B404B /* UserViewController.swift in Sources */, |
| 1475 | 1498 | 5904FC4E1ECA8B8C00E631FF /* ResourceViewController.swift in Sources */, |
| ... | ... | @@ -1560,6 +1583,7 @@ |
| 1560 | 1583 | 599B2CE31DE52F7E00B4F7FD /* UMSocialUIManager.m in Sources */, |
| 1561 | 1584 | BF25DFF91DDAA36A003EC0C1 /* NSImage+WebCache.m in Sources */, |
| 1562 | 1585 | BF8E52EE1ECFD16000E472E8 /* RankingTableViewController.swift in Sources */, |
| 1586 | + BF7722FC1ED3C54B00226D44 /* FilterCollectionViewCell.swift in Sources */, | |
| 1563 | 1587 | 59F8014F1DD2C7AD000A78B0 /* AppDelegate.swift in Sources */, |
| 1564 | 1588 | BF7722F31ED283D400226D44 /* FilterViewController.swift in Sources */, |
| 1565 | 1589 | BF25DFED1DDAA36A003EC0C1 /* ResponseSerialization.swift in Sources */, | ... | ... |
YouerLiveVideo/YouerLiveVideo.xcodeproj/project.xcworkspace/xcuserdata/jun.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
YouerLiveVideo/YouerLiveVideo/AppDelegate.swift
| ... | ... | @@ -40,20 +40,20 @@ class AppDelegate: UIResponder, UIApplicationDelegate,NIMLoginManagerDelegate { |
| 40 | 40 | } |
| 41 | 41 | |
| 42 | 42 | func applicationDidBecomeActive(_ application: UIApplication) { |
| 43 | - let userId = AppDelegate.instance().accountManager.id() | |
| 44 | - let phone = AppDelegate.instance().accountManager.phone() | |
| 45 | - if userId != ""{ | |
| 46 | - NIMSDK.shared().loginManager.autoLogin(phone, token: phone.md5().uppercased()) | |
| 47 | - } | |
| 48 | - if let step = self.step { | |
| 49 | - if userId != "" && step == NIMLoginStep.loginFailed{//( step == NIMLoginStep.LinkFailed || | |
| 50 | - XSTLiveManager.shareXSTLiveManager().login(userId: phone, completion: { (success) -> Void in | |
| 51 | - if !success { | |
| 52 | - self.accountManager.cleanUserInfoAndPoptoRootVC() | |
| 53 | - } | |
| 54 | - }) | |
| 55 | - } | |
| 56 | - } | |
| 43 | +// let userId = AppDelegate.instance().accountManager.id() | |
| 44 | +// let phone = AppDelegate.instance().accountManager.phone() | |
| 45 | +// if userId != ""{ | |
| 46 | +// NIMSDK.shared().loginManager.autoLogin(phone, token: phone.md5().uppercased()) | |
| 47 | +// } | |
| 48 | +// if let step = self.step { | |
| 49 | +// if userId != "" && step == NIMLoginStep.loginFailed{//( step == NIMLoginStep.LinkFailed || | |
| 50 | +// XSTLiveManager.shareXSTLiveManager().login(userId: phone, completion: { (success) -> Void in | |
| 51 | +// if !success { | |
| 52 | +// self.accountManager.cleanUserInfoAndPoptoRootVC() | |
| 53 | +// } | |
| 54 | +// }) | |
| 55 | +// } | |
| 56 | +// } | |
| 57 | 57 | |
| 58 | 58 | |
| 59 | 59 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. | ... | ... |
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/Contents.json
0 → 100644
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/HomePage/Contents.json
0 → 100644
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/HomePage/homepage_courseList.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" : "资源.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/Assets.xcassets/z_NewIcon/HomePage/homepage_courseList.imageset/资源.png
0 → 100644
1.9 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/HomePage/homepage_hotcourse.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" : "热门微课.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/Assets.xcassets/z_NewIcon/HomePage/homepage_hotcourse.imageset/热门微课.png
0 → 100644
1.21 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/HomePage/homepage_ranking.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" : "排行.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/Assets.xcassets/z_NewIcon/HomePage/homepage_ranking.imageset/排行.png
0 → 100644
1.07 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/HomePage/homepage_television.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" : "图标_28.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/Assets.xcassets/z_NewIcon/HomePage/homepage_television.imageset/图标_28.png
0 → 100644
1.47 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/icon_back.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" : "返回.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/Assets.xcassets/z_NewIcon/icon_back.imageset/返回.png
0 → 100644
1.3 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/icon_courseList.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" : "图标_24.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/Assets.xcassets/z_NewIcon/icon_courseList.imageset/图标_24.png
0 → 100644
1.9 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/icon_download.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" : "下载数量.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/Assets.xcassets/z_NewIcon/icon_download.imageset/下载数量.png
0 → 100644
1.12 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/icon_homepage.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/Assets.xcassets/z_NewIcon/icon_homepage.imageset/底栏1.png
0 → 100644
1.58 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/icon_hotcourse.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" : "图标_30.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/Assets.xcassets/z_NewIcon/icon_hotcourse.imageset/图标_30.png
0 → 100644
1.56 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/icon_microcourse.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" : "底栏3.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/Assets.xcassets/z_NewIcon/icon_microcourse.imageset/底栏3.png
0 → 100644
1.22 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/icon_more.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" : "更多.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/Assets.xcassets/z_NewIcon/icon_more.imageset/更多.png
0 → 100644
1.36 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/icon_open.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" : "展开.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/Assets.xcassets/z_NewIcon/icon_open.imageset/展开.png
0 → 100644
1.36 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/icon_ranking.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" : "图标_22.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/Assets.xcassets/z_NewIcon/icon_ranking.imageset/图标_22.png
0 → 100644
1.08 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/icon_resource.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" : "底栏2.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/Assets.xcassets/z_NewIcon/icon_resource.imageset/底栏2.png
0 → 100644
2.02 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/icon_setting.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" : "设置.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/Assets.xcassets/z_NewIcon/icon_setting.imageset/设置.png
0 → 100644
2.28 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/icon_tvstation.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" : "底栏4.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/Assets.xcassets/z_NewIcon/icon_tvstation.imageset/底栏4.png
0 → 100644
1.39 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/icon_user.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" : "底栏5.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/Assets.xcassets/z_NewIcon/icon_user.imageset/底栏5.png
0 → 100644
1.68 KB
YouerLiveVideo/YouerLiveVideo/Assets.xcassets/z_NewIcon/icon_watchcount.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" : "观看数量.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/Assets.xcassets/z_NewIcon/icon_watchcount.imageset/观看数量.png
0 → 100644
1.43 KB
YouerLiveVideo/YouerLiveVideo/Base.lproj/Main.storyboard
| ... | ... | @@ -124,7 +124,7 @@ |
| 124 | 124 | <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> |
| 125 | 125 | </state> |
| 126 | 126 | </button> |
| 127 | - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="ds9-Gw-nOf"> | |
| 127 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_download" translatesAutoresizingMaskIntoConstraints="NO" id="ds9-Gw-nOf"> | |
| 128 | 128 | <rect key="frame" x="297" y="90.5" width="20" height="20"/> |
| 129 | 129 | <constraints> |
| 130 | 130 | <constraint firstAttribute="width" secondItem="ds9-Gw-nOf" secondAttribute="height" multiplier="1:1" id="Mto-fo-vVR"/> |
| ... | ... | @@ -273,16 +273,16 @@ |
| 273 | 273 | <constraint firstAttribute="height" constant="15" id="mtL-aK-O9I"/> |
| 274 | 274 | </constraints> |
| 275 | 275 | </view> |
| 276 | - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="tc9-OD-L9x"> | |
| 276 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="homepage_ranking" translatesAutoresizingMaskIntoConstraints="NO" id="tc9-OD-L9x"> | |
| 277 | 277 | <rect key="frame" x="15" y="30" width="20" height="20"/> |
| 278 | 278 | <constraints> |
| 279 | 279 | <constraint firstAttribute="height" constant="20" id="dzU-2e-0A0"/> |
| 280 | 280 | <constraint firstAttribute="width" constant="20" id="jeW-Q1-Yqy"/> |
| 281 | 281 | </constraints> |
| 282 | 282 | </imageView> |
| 283 | - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="gpI-zw-6qq"> | |
| 283 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_more" translatesAutoresizingMaskIntoConstraints="NO" id="gpI-zw-6qq"> | |
| 284 | 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"/> | |
| 285 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | |
| 286 | 286 | <constraints> |
| 287 | 287 | <constraint firstAttribute="width" constant="8" id="X2b-MK-4bQ"/> |
| 288 | 288 | <constraint firstAttribute="height" constant="15" id="ZkK-Yr-R26"/> |
| ... | ... | @@ -380,14 +380,14 @@ |
| 380 | 380 | <constraint firstAttribute="height" constant="15" id="cu9-3U-16R"/> |
| 381 | 381 | </constraints> |
| 382 | 382 | </view> |
| 383 | - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="JfT-qO-w2b"> | |
| 383 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="homepage_hotcourse" translatesAutoresizingMaskIntoConstraints="NO" id="JfT-qO-w2b"> | |
| 384 | 384 | <rect key="frame" x="15" y="30" width="20" height="20"/> |
| 385 | 385 | <constraints> |
| 386 | 386 | <constraint firstAttribute="width" constant="20" id="gju-0Y-vbI"/> |
| 387 | 387 | <constraint firstAttribute="height" constant="20" id="upC-qc-OXv"/> |
| 388 | 388 | </constraints> |
| 389 | 389 | </imageView> |
| 390 | - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="QcE-wo-WjW"> | |
| 390 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_more" translatesAutoresizingMaskIntoConstraints="NO" id="QcE-wo-WjW"> | |
| 391 | 391 | <rect key="frame" x="352" y="32.5" width="8" height="15"/> |
| 392 | 392 | <constraints> |
| 393 | 393 | <constraint firstAttribute="width" constant="8" id="6rP-92-fox"/> |
| ... | ... | @@ -453,7 +453,7 @@ |
| 453 | 453 | <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/> |
| 454 | 454 | <nil key="highlightedColor"/> |
| 455 | 455 | </label> |
| 456 | - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="Ah6-9S-zUX"> | |
| 456 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_watchcount" translatesAutoresizingMaskIntoConstraints="NO" id="Ah6-9S-zUX"> | |
| 457 | 457 | <rect key="frame" x="154" y="167" width="12" height="8"/> |
| 458 | 458 | <constraints> |
| 459 | 459 | <constraint firstAttribute="width" constant="12" id="Gst-KJ-hy2"/> |
| ... | ... | @@ -527,14 +527,14 @@ |
| 527 | 527 | <constraint firstAttribute="height" constant="15" id="zk7-4f-Srd"/> |
| 528 | 528 | </constraints> |
| 529 | 529 | </view> |
| 530 | - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="UWk-5A-PEj"> | |
| 530 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="homepage_courseList" translatesAutoresizingMaskIntoConstraints="NO" id="UWk-5A-PEj"> | |
| 531 | 531 | <rect key="frame" x="15" y="30" width="20" height="20"/> |
| 532 | 532 | <constraints> |
| 533 | 533 | <constraint firstAttribute="width" constant="20" id="c35-8L-oxO"/> |
| 534 | 534 | <constraint firstAttribute="height" constant="20" id="iOy-11-gMR"/> |
| 535 | 535 | </constraints> |
| 536 | 536 | </imageView> |
| 537 | - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="Tib-Fm-A1U"> | |
| 537 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_more" translatesAutoresizingMaskIntoConstraints="NO" id="Tib-Fm-A1U"> | |
| 538 | 538 | <rect key="frame" x="352" y="32.5" width="8" height="15"/> |
| 539 | 539 | <constraints> |
| 540 | 540 | <constraint firstAttribute="height" constant="15" id="5ek-5S-7Cb"/> |
| ... | ... | @@ -600,7 +600,7 @@ |
| 600 | 600 | <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/> |
| 601 | 601 | <nil key="highlightedColor"/> |
| 602 | 602 | </label> |
| 603 | - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="j8z-Dm-5mL"> | |
| 603 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_download" translatesAutoresizingMaskIntoConstraints="NO" id="j8z-Dm-5mL"> | |
| 604 | 604 | <rect key="frame" x="100" y="220" width="8" height="8"/> |
| 605 | 605 | <constraints> |
| 606 | 606 | <constraint firstAttribute="width" constant="8" id="f5p-Mv-Ylo"/> |
| ... | ... | @@ -684,14 +684,14 @@ |
| 684 | 684 | <constraint firstAttribute="height" constant="15" id="8kZ-Qb-uv0"/> |
| 685 | 685 | </constraints> |
| 686 | 686 | </view> |
| 687 | - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="NyS-EO-TLP"> | |
| 687 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="homepage_television" translatesAutoresizingMaskIntoConstraints="NO" id="NyS-EO-TLP"> | |
| 688 | 688 | <rect key="frame" x="15" y="30" width="20" height="20"/> |
| 689 | 689 | <constraints> |
| 690 | 690 | <constraint firstAttribute="width" constant="20" id="3VH-BC-Dg6"/> |
| 691 | 691 | <constraint firstAttribute="height" constant="20" id="FB0-l5-0Jp"/> |
| 692 | 692 | </constraints> |
| 693 | 693 | </imageView> |
| 694 | - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="TE2-1P-sZs"> | |
| 694 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_more" translatesAutoresizingMaskIntoConstraints="NO" id="TE2-1P-sZs"> | |
| 695 | 695 | <rect key="frame" x="352" y="32.5" width="8" height="15"/> |
| 696 | 696 | <constraints> |
| 697 | 697 | <constraint firstAttribute="height" constant="15" id="EJo-or-6w8"/> |
| ... | ... | @@ -1090,7 +1090,7 @@ |
| 1090 | 1090 | <scene sceneID="Ztv-WN-7iK"> |
| 1091 | 1091 | <objects> |
| 1092 | 1092 | <navigationController title="资源" automaticallyAdjustsScrollViewInsets="NO" id="oPL-zE-5ud" sceneMemberID="viewController"> |
| 1093 | - <tabBarItem key="tabBarItem" title="资源" image="首页.png" id="H9f-Lc-mQs"/> | |
| 1093 | + <tabBarItem key="tabBarItem" title="资源" image="icon_resource" id="H9f-Lc-mQs"/> | |
| 1094 | 1094 | <toolbarItems/> |
| 1095 | 1095 | <navigationBar key="navigationBar" contentMode="scaleToFill" id="Ca3-cq-bcD"> |
| 1096 | 1096 | <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> |
| ... | ... | @@ -1109,7 +1109,7 @@ |
| 1109 | 1109 | <scene sceneID="cuR-qn-3H2"> |
| 1110 | 1110 | <objects> |
| 1111 | 1111 | <navigationController title="微课" automaticallyAdjustsScrollViewInsets="NO" id="B6F-S8-zbX" sceneMemberID="viewController"> |
| 1112 | - <tabBarItem key="tabBarItem" title="微课" image="首页.png" id="6vI-fw-Oos"/> | |
| 1112 | + <tabBarItem key="tabBarItem" title="微课" image="icon_microcourse" id="6vI-fw-Oos"/> | |
| 1113 | 1113 | <toolbarItems/> |
| 1114 | 1114 | <navigationBar key="navigationBar" contentMode="scaleToFill" id="gzA-MB-3BR"> |
| 1115 | 1115 | <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> |
| ... | ... | @@ -1128,7 +1128,7 @@ |
| 1128 | 1128 | <scene sceneID="zf3-SG-nOb"> |
| 1129 | 1129 | <objects> |
| 1130 | 1130 | <navigationController title="电视台" automaticallyAdjustsScrollViewInsets="NO" id="eeQ-qi-Oqc" sceneMemberID="viewController"> |
| 1131 | - <tabBarItem key="tabBarItem" title="电视台" image="首页.png" id="Aq8-EP-9iB"/> | |
| 1131 | + <tabBarItem key="tabBarItem" title="电视台" image="icon_tvstation" id="Aq8-EP-9iB"/> | |
| 1132 | 1132 | <toolbarItems/> |
| 1133 | 1133 | <navigationBar key="navigationBar" contentMode="scaleToFill" id="zos-0a-mzB"> |
| 1134 | 1134 | <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> |
| ... | ... | @@ -1147,7 +1147,7 @@ |
| 1147 | 1147 | <scene sceneID="CWh-n7-nxi"> |
| 1148 | 1148 | <objects> |
| 1149 | 1149 | <navigationController title="用户" automaticallyAdjustsScrollViewInsets="NO" id="Lq6-19-raF" sceneMemberID="viewController"> |
| 1150 | - <tabBarItem key="tabBarItem" title="用户" image="首页.png" id="xsr-8R-tgo"/> | |
| 1150 | + <tabBarItem key="tabBarItem" title="用户" image="icon_user" id="xsr-8R-tgo"/> | |
| 1151 | 1151 | <toolbarItems/> |
| 1152 | 1152 | <navigationBar key="navigationBar" contentMode="scaleToFill" id="aYo-eQ-QLv"> |
| 1153 | 1153 | <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> |
| ... | ... | @@ -1274,7 +1274,7 @@ |
| 1274 | 1274 | <scene sceneID="axA-Q8-m9h"> |
| 1275 | 1275 | <objects> |
| 1276 | 1276 | <navigationController title="教育视频云" automaticallyAdjustsScrollViewInsets="NO" id="ZF0-NB-klP" sceneMemberID="viewController"> |
| 1277 | - <tabBarItem key="tabBarItem" title="首页" image="首页.png" id="JKA-ml-vLX"/> | |
| 1277 | + <tabBarItem key="tabBarItem" title="首页" image="icon_homepage" id="JKA-ml-vLX"/> | |
| 1278 | 1278 | <toolbarItems/> |
| 1279 | 1279 | <navigationBar key="navigationBar" contentMode="scaleToFill" id="Xg7-jx-ngw"> |
| 1280 | 1280 | <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> |
| ... | ... | @@ -1402,7 +1402,7 @@ |
| 1402 | 1402 | <action selector="pushDetailVC:" destination="IlC-3c-gI6" eventType="touchUpInside" id="3BZ-om-ppg"/> |
| 1403 | 1403 | </connections> |
| 1404 | 1404 | </button> |
| 1405 | - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon" translatesAutoresizingMaskIntoConstraints="NO" id="anY-xC-gfl"> | |
| 1405 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_watchcount" translatesAutoresizingMaskIntoConstraints="NO" id="anY-xC-gfl"> | |
| 1406 | 1406 | <rect key="frame" x="297" y="91" width="20" height="20"/> |
| 1407 | 1407 | <constraints> |
| 1408 | 1408 | <constraint firstAttribute="width" constant="20" id="FKY-fi-PSd"/> |
| ... | ... | @@ -1523,10 +1523,21 @@ |
| 1523 | 1523 | <image name="default_userRoom" width="19" height="17"/> |
| 1524 | 1524 | <image name="defphoto.png" width="256" height="256"/> |
| 1525 | 1525 | <image name="divshadow.png" width="771" height="13"/> |
| 1526 | + <image name="homepage_courseList" width="20" height="20"/> | |
| 1527 | + <image name="homepage_hotcourse" width="20" height="20"/> | |
| 1528 | + <image name="homepage_ranking" width="20" height="20"/> | |
| 1529 | + <image name="homepage_television" width="20" height="20"/> | |
| 1526 | 1530 | <image name="icon" width="512" height="512"/> |
| 1527 | 1531 | <image name="icon.png" width="80" height="80"/> |
| 1532 | + <image name="icon_download" width="8" height="8"/> | |
| 1533 | + <image name="icon_homepage" width="25" height="25"/> | |
| 1534 | + <image name="icon_microcourse" width="25" height="25"/> | |
| 1535 | + <image name="icon_more" width="8" height="14"/> | |
| 1536 | + <image name="icon_resource" width="25" height="25"/> | |
| 1537 | + <image name="icon_tvstation" width="25" height="25"/> | |
| 1538 | + <image name="icon_user" width="25" height="25"/> | |
| 1539 | + <image name="icon_watchcount" width="12" height="7"/> | |
| 1528 | 1540 | <image name="starLive" width="22" height="22"/> |
| 1529 | 1541 | <image name="视窗.png" width="31" height="31"/> |
| 1530 | - <image name="首页.png" width="31" height="31"/> | |
| 1531 | 1542 | </resources> |
| 1532 | 1543 | </document> | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/HomePage/MainHomeTableViewController.swift
| ... | ... | @@ -60,10 +60,6 @@ class MainHomeTableViewController: UITableViewController { |
| 60 | 60 | } |
| 61 | 61 | } |
| 62 | 62 | } |
| 63 | - //右上角搜索按钮点击方法 | |
| 64 | - @IBAction func rightBarButtonAction(_ sender: UIBarButtonItem) { | |
| 65 | - | |
| 66 | - } | |
| 67 | 63 | |
| 68 | 64 | |
| 69 | 65 | override func didReceiveMemoryWarning() { |
| ... | ... | @@ -112,10 +108,10 @@ class MainHomeTableViewController: UITableViewController { |
| 112 | 108 | } |
| 113 | 109 | */ |
| 114 | 110 | override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { |
| 115 | - NSLog("点击了第\(indexPath.row)个cell") | |
| 116 | 111 | if indexPath.row==0{ |
| 117 | 112 | //排行 |
| 118 | 113 | let vc = UIStoryboard(name: "HomePage", bundle: nil).instantiateViewController(withIdentifier: "RankingTableViewController") as! RankingTableViewController |
| 114 | + vc.openIndexAry=[0,4] | |
| 119 | 115 | self.navigationController?.pushViewController(vc, animated: true) |
| 120 | 116 | } |
| 121 | 117 | } |
| ... | ... | @@ -148,10 +144,18 @@ class InLineModel: NSObject { |
| 148 | 144 | } |
| 149 | 145 | class HomeFirstTableViewCell: UITableViewCell,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout,UICollectionViewDataSource { |
| 150 | 146 | func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { |
| 151 | - if indexPath.row==0{ | |
| 152 | - //点击进入学校 appRootViewController() | |
| 153 | - }else{ | |
| 154 | - //点击进入教师 | |
| 147 | + if appRootViewController().childViewControllers.count>0 { | |
| 148 | + if indexPath.row==0{ | |
| 149 | + //点击进入学校 | |
| 150 | + let vc = UIStoryboard(name: "HomePage", bundle: nil).instantiateViewController(withIdentifier: "RankingTableViewController") as! RankingTableViewController | |
| 151 | + vc.openIndexAry=[0] | |
| 152 | + ((appRootViewController().childViewControllers[0] as! MViewController).selectedViewController as! UINavigationController).pushViewController(vc, animated: true) | |
| 153 | + }else{ | |
| 154 | + //点击进入教师 | |
| 155 | + let vc = UIStoryboard(name: "HomePage", bundle: nil).instantiateViewController(withIdentifier: "RankingTableViewController") as! RankingTableViewController | |
| 156 | + vc.openIndexAry=[4] | |
| 157 | + ((appRootViewController().childViewControllers[0] as! MViewController).selectedViewController as! UINavigationController).pushViewController(vc, animated: true) | |
| 158 | + } | |
| 155 | 159 | } |
| 156 | 160 | } |
| 157 | 161 | func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/HomePage/RankingTableViewController.swift
| ... | ... | @@ -229,9 +229,9 @@ class RankingTableViewController: UITableViewController { |
| 229 | 229 | } |
| 230 | 230 | cell.titleLabel.text=ary[indexPath.row] |
| 231 | 231 | if openIndexAry.contains(indexPath.row){ |
| 232 | - cell.titleImageView.image=UIImage(named: "botoom_image") | |
| 232 | + cell.titleImageView.image=UIImage(named: "icon_open") | |
| 233 | 233 | }else{ |
| 234 | - cell.titleImageView.image=UIImage(named: "top_image") | |
| 234 | + cell.titleImageView.image=UIImage(named: "icon_more") | |
| 235 | 235 | } |
| 236 | 236 | cell.subTableView.reloadData() |
| 237 | 237 | return cell | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/Resource/FilterViewController.swift
| ... | ... | @@ -7,28 +7,224 @@ |
| 7 | 7 | // |
| 8 | 8 | |
| 9 | 9 | import UIKit |
| 10 | - | |
| 11 | -class FilterViewController: UIViewController { | |
| 12 | - | |
| 10 | +class FilterViewController: UIViewController,FilterViewDelegate { | |
| 11 | + @IBOutlet var scrollContentView: UIStackView! | |
| 12 | + var nameAry:[String]=["学段","年级","学科","教材"] | |
| 13 | + var dataSchoolSection:[SchoolSection]=[] | |
| 14 | + var dataGrade:[Grade]=[] | |
| 15 | + var dataSubject:[Subject]=[] | |
| 16 | + | |
| 17 | + var type=FilterParameter() | |
| 13 | 18 | override func viewDidLoad() { |
| 14 | 19 | super.viewDidLoad() |
| 15 | -// AppDelegate.instance().httpServer.postResourceList(parameters: <#T##[String : AnyObject]?#>, completionHandler: <#T##(String?, NSError?) -> ()#>) | |
| 20 | + self.configTheme() | |
| 21 | + self.navigationItem.title="筛选" | |
| 22 | + getSchoolSection() | |
| 23 | +// NotificationCenter.default.addObserver(self, selector: #selector(RegisterVC.keyboardWIllChange), name: NSNotification.Name.UIKeyboardWillChangeFrame, object: nil) | |
| 24 | +// NotificationCenter.default.post(name: NSNotification.Name(rawValue: "loginOutSuccess"), object: nil) | |
| 16 | 25 | } |
| 17 | 26 | |
| 27 | + @IBAction func dismissAction(_ sender: UIBarButtonItem) { | |
| 28 | + self.dismiss(animated: true, completion: nil) | |
| 29 | + } | |
| 30 | + func setupFilterView(index:Int,arry:[filterModel]){ | |
| 31 | + let filterView=scrollContentView.subviews[index] as! FilterView | |
| 32 | + if arry.count>0{ | |
| 33 | + filterView.selected = 0 | |
| 34 | + switch index { | |
| 35 | + case 2: | |
| 36 | + //年级 | |
| 37 | + type.grade=arry[0].f_Id | |
| 38 | + case 3: | |
| 39 | + //学科 | |
| 40 | + type.subject=arry[0].f_Id | |
| 41 | + default: | |
| 42 | + break | |
| 43 | + } | |
| 44 | + }else{ | |
| 45 | + filterView.selected = -1 | |
| 46 | + if index==2{ | |
| 47 | + type.grade=nil | |
| 48 | + } | |
| 49 | + } | |
| 50 | + | |
| 51 | + filterView.isOpen=false | |
| 52 | + filterView.changeItems(array: arry) | |
| 53 | + filterView.constraints.last!.constant=60+(getScreenWidth()-80)/12 | |
| 54 | + filterView.collectionView.reloadData() | |
| 55 | + } | |
| 56 | + @IBAction func determineAction(_ sender: UIButton) { | |
| 57 | + // AppDelegate.instance().httpServer.postResourceList(parameters: <#T##[String : AnyObject]?#>, completionHandler: <#T##(String?, NSError?) -> ()#>) | |
| 58 | + } | |
| 59 | + //请求年级 并添加控件 | |
| 60 | + func getSchoolSection(){ | |
| 61 | + SVProgressHUD.show(withStatus: "获取学段...") | |
| 62 | + SVProgressHUD.setDefaultMaskType(.black) | |
| 63 | + AppDelegate.instance().httpServer.getSchoolTypes { (str, error) in | |
| 64 | + SVProgressHUD.dismiss() | |
| 65 | + if error==nil { | |
| 66 | + if JSON.fromString(jsonString: str)!["status"].intValue == 1{ | |
| 67 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | |
| 68 | + for item in JSON.fromString(jsonString: str)!["data"].arrayValue { | |
| 69 | + self.dataSchoolSection.append(SchoolSection(j: item)) | |
| 70 | + } | |
| 71 | + }, failHandler: { (error) in | |
| 72 | + self.view.makeToast("获取学段失败:\(error.localizedDescription)") | |
| 73 | + }) | |
| 74 | + }else{ | |
| 75 | + self.view.makeToast("获取学段失败:\(JSON.fromString(jsonString: str)!["message"].stringValue)") | |
| 76 | + } | |
| 77 | + }else{ | |
| 78 | + self.view.makeToast("获取学段失败:\(error!.description)") | |
| 79 | + } | |
| 80 | + let filterView=Bundle.main.loadNibNamed("FilterView", owner: nil, options: nil)![0] as! FilterView | |
| 81 | + filterView.frame.size=CGSize(width: getScreenWidth(), height: 60+(getScreenWidth()-80)/12) | |
| 82 | + filterView.delegate=self | |
| 83 | + filterView.tag=0 | |
| 84 | + filterView.setUpWithItems(title: self.nameAry[0], array: self.dataSchoolSection) | |
| 85 | + if self.dataSchoolSection.count>0{ | |
| 86 | + filterView.selected=0 | |
| 87 | + self.type.schoolSection=self.dataSchoolSection[0].f_Id | |
| 88 | + } | |
| 89 | + self.scrollContentView.addArrangedSubview(filterView) | |
| 90 | + filterView.translatesAutoresizingMaskIntoConstraints=false | |
| 91 | + filterView.addConstraint(NSLayoutConstraint(item: filterView, attribute: NSLayoutAttribute.height, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.notAnAttribute, multiplier: 1.0, constant: 60+(getScreenWidth()-80)/12)) | |
| 92 | + for i in 1..<3{ | |
| 93 | + let filterView=Bundle.main.loadNibNamed("FilterView", owner: nil, options: nil)![0] as! FilterView | |
| 94 | + filterView.frame.size=CGSize(width: getScreenWidth(), height: 60+(getScreenWidth()-80)/12) | |
| 95 | + filterView.delegate=self | |
| 96 | + filterView.tag=i | |
| 97 | + filterView.setUpWithItems(title: self.nameAry[i], array: []) | |
| 98 | + self.scrollContentView.addArrangedSubview(filterView) | |
| 99 | + filterView.translatesAutoresizingMaskIntoConstraints=false | |
| 100 | + filterView.addConstraint(NSLayoutConstraint(item: filterView, attribute: NSLayoutAttribute.height, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.notAnAttribute, multiplier: 1.0, constant: 60+(getScreenWidth()-80)/12)) | |
| 101 | + } | |
| 102 | + if self.dataSchoolSection.count>0{ | |
| 103 | + self.getGradeWithSchoolSectionID(id: self.dataSchoolSection[0].f_Id, index: 2) | |
| 104 | + } | |
| 105 | + self.getSubjects(index: 3) | |
| 106 | + } | |
| 107 | + } | |
| 108 | + func selectCurrentCount(index: Int,tag:Int) { | |
| 109 | + switch tag { | |
| 110 | + case 0: | |
| 111 | + type.schoolSection=dataSchoolSection[index].f_Id | |
| 112 | + getGradeWithSchoolSectionID(id: dataSchoolSection[index].f_Id, index: 2) | |
| 113 | + case 1: | |
| 114 | + type.grade=dataGrade[index].f_Id | |
| 115 | + case 2: | |
| 116 | + type.subject=dataSubject[index].f_Id | |
| 117 | + case 3: break | |
| 118 | + | |
| 119 | + default: break | |
| 120 | + | |
| 121 | + } | |
| 122 | + } | |
| 123 | + //请求年级 并刷新 | |
| 124 | + func getGradeWithSchoolSectionID(id:String,index:Int){ | |
| 125 | + SVProgressHUD.show(withStatus: "获取年级...") | |
| 126 | + SVProgressHUD.setDefaultMaskType(.black) | |
| 127 | + AppDelegate.instance().httpServer.getGrades(parameters: ["schooltypeid":id as AnyObject]) { (str, error) in | |
| 128 | + SVProgressHUD.dismiss() | |
| 129 | + self.dataGrade.removeAll() | |
| 130 | + if error==nil { | |
| 131 | + if JSON.fromString(jsonString: str)!["status"].intValue == 1{ | |
| 132 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | |
| 133 | + for item in JSON.fromString(jsonString: str)!["data"].arrayValue { | |
| 134 | + self.dataGrade.append(Grade(j: item)) | |
| 135 | + } | |
| 136 | + }, failHandler: { (error) in | |
| 137 | + self.view.makeToast("获取年级失败:\(error.localizedDescription)") | |
| 138 | + }) | |
| 139 | + }else{ | |
| 140 | + self.view.makeToast("获取年级失败:\(JSON.fromString(jsonString: str)!["message"].stringValue)") | |
| 141 | + } | |
| 142 | + }else{ | |
| 143 | + self.view.makeToast("获取年级失败:\(error!.description)") | |
| 144 | + } | |
| 145 | + self.setupFilterView(index: index, arry: self.dataGrade) | |
| 146 | + } | |
| 147 | + } | |
| 148 | + //请求学科 并刷新 | |
| 149 | + func getSubjects(index:Int){ | |
| 150 | + SVProgressHUD.show(withStatus: "获取学科...") | |
| 151 | + SVProgressHUD.setDefaultMaskType(.black) | |
| 152 | + AppDelegate.instance().httpServer.getSubjects { (str, error) in | |
| 153 | + SVProgressHUD.dismiss() | |
| 154 | + self.dataSubject.removeAll() | |
| 155 | + if error==nil { | |
| 156 | + if JSON.fromString(jsonString: str)!["status"].intValue == 1{ | |
| 157 | + httpJsonResule(jsonString: str, error: error, successHandler: { (json) in | |
| 158 | + for item in JSON.fromString(jsonString: str)!["data"].arrayValue { | |
| 159 | + self.dataSubject.append(Subject(j: item)) | |
| 160 | + } | |
| 161 | + }, failHandler: { (error) in | |
| 162 | + self.view.makeToast("获取学科失败:\(error.localizedDescription)") | |
| 163 | + }) | |
| 164 | + }else{ | |
| 165 | + self.view.makeToast("获取学科失败:\(JSON.fromString(jsonString: str)!["message"].stringValue)") | |
| 166 | + } | |
| 167 | + }else{ | |
| 168 | + self.view.makeToast("获取学科失败:\(error!.description)") | |
| 169 | + } | |
| 170 | + self.setupFilterView(index: index, arry: self.dataSubject) | |
| 171 | + } | |
| 172 | + } | |
| 18 | 173 | override func didReceiveMemoryWarning() { |
| 19 | 174 | super.didReceiveMemoryWarning() |
| 20 | - // Dispose of any resources that can be recreated. | |
| 21 | 175 | } |
| 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. | |
| 176 | + // MARK: - 销毁通知 | |
| 177 | + deinit { | |
| 178 | + NotificationCenter.default.removeObserver(self) | |
| 179 | + } | |
| 180 | +} | |
| 181 | +class FilterParameter:NSObject { | |
| 182 | + var schoolSection:String? //学段 | |
| 183 | + var grade:String? //年级 | |
| 184 | + var subject:String? //学科 | |
| 185 | + var materials:String? //教材 | |
| 186 | + override init() { | |
| 187 | + | |
| 188 | + } | |
| 189 | +} | |
| 190 | +class filterModel:NSObject{ | |
| 191 | + var f_Id:String="" | |
| 192 | + var f_DeleteMark:Bool=false | |
| 193 | + var f_CreatorTime:String="" | |
| 194 | + var f_CreatorUserId:String="" | |
| 195 | + var f_LastModifyTime:String="" | |
| 196 | + var f_LastModifyUserId:String="" | |
| 197 | + var f_DeleteTime:String="" | |
| 198 | + var f_DeleteUserId:String="" | |
| 199 | + init(j:JSON) { | |
| 200 | + f_Id=j["f_Id"].stringValue | |
| 201 | + f_DeleteMark=j["f_DeleteMark"].boolValue | |
| 202 | + f_CreatorTime=j["f_CreatorTime"].stringValue | |
| 203 | + f_CreatorUserId=j["f_CreatorUserId"].stringValue | |
| 204 | + f_LastModifyTime=j["f_LastModifyTime"].stringValue | |
| 205 | + f_LastModifyUserId=j["f_LastModifyUserId"].stringValue | |
| 206 | + f_DeleteTime=j["f_DeleteTime"].stringValue | |
| 207 | + f_DeleteUserId=j["f_DeleteUserId"].stringValue | |
| 208 | + } | |
| 209 | +} | |
| 210 | +class SchoolSection: filterModel { | |
| 211 | + var f_SchoolType:String="" | |
| 212 | + override init(j:JSON) { | |
| 213 | + super.init(j: j) | |
| 214 | + f_SchoolType=j["f_SchoolType"].stringValue | |
| 215 | + } | |
| 216 | +} | |
| 217 | +class Grade: filterModel { | |
| 218 | + var f_GradeName:String="" | |
| 219 | + override init(j:JSON) { | |
| 220 | + super.init(j: j) | |
| 221 | + f_GradeName=j["f_GradeName"].stringValue | |
| 222 | + } | |
| 223 | +} | |
| 224 | +class Subject: filterModel { | |
| 225 | + var f_SubjectName:String="" | |
| 226 | + override init(j:JSON) { | |
| 227 | + super.init(j: j) | |
| 228 | + f_SubjectName=j["f_SubjectName"].stringValue | |
| 31 | 229 | } |
| 32 | - */ | |
| 33 | - | |
| 34 | 230 | } | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/Resource/Resource.storyboard
| ... | ... | @@ -9,10 +9,10 @@ |
| 9 | 9 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
| 10 | 10 | </dependencies> |
| 11 | 11 | <scenes> |
| 12 | - <!--Filter View Controller--> | |
| 12 | + <!--筛选--> | |
| 13 | 13 | <scene sceneID="Rmv-Eo-NBi"> |
| 14 | 14 | <objects> |
| 15 | - <viewController storyboardIdentifier="FilterViewController" hidesBottomBarWhenPushed="YES" id="J51-bf-ysq" customClass="FilterViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController"> | |
| 15 | + <viewController storyboardIdentifier="FilterViewController" title="筛选" automaticallyAdjustsScrollViewInsets="NO" hidesBottomBarWhenPushed="YES" id="J51-bf-ysq" customClass="FilterViewController" customModule="YouerLiveVideo" customModuleProvider="target" sceneMemberID="viewController"> | |
| 16 | 16 | <layoutGuides> |
| 17 | 17 | <viewControllerLayoutGuide type="top" id="8Fm-xC-jSr"/> |
| 18 | 18 | <viewControllerLayoutGuide type="bottom" id="bXh-Wr-qy6"/> |
| ... | ... | @@ -20,13 +20,64 @@ |
| 20 | 20 | <view key="view" contentMode="scaleToFill" id="ao2-Oa-iAS"> |
| 21 | 21 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> |
| 22 | 22 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
| 23 | + <subviews> | |
| 24 | + <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="IYF-5b-c3m"> | |
| 25 | + <rect key="frame" x="0.0" y="64" width="375" height="603"/> | |
| 26 | + <subviews> | |
| 27 | + <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="KvN-Pb-Nub"> | |
| 28 | + <rect key="frame" x="0.0" y="0.0" width="375" height="1"/> | |
| 29 | + <subviews> | |
| 30 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="65A-no-dyJ"> | |
| 31 | + <rect key="frame" x="0.0" y="0.0" width="375" height="1"/> | |
| 32 | + <constraints> | |
| 33 | + <constraint firstAttribute="height" constant="1" id="xkQ-5h-BMe"/> | |
| 34 | + </constraints> | |
| 35 | + <fontDescription key="fontDescription" type="system" pointSize="17"/> | |
| 36 | + <nil key="textColor"/> | |
| 37 | + <nil key="highlightedColor"/> | |
| 38 | + </label> | |
| 39 | + </subviews> | |
| 40 | + <color key="backgroundColor" red="0.98431372549999996" green="0.53333333329999999" blue="0.16078431369999999" alpha="1" colorSpace="calibratedRGB"/> | |
| 41 | + <constraints> | |
| 42 | + <constraint firstAttribute="trailing" secondItem="65A-no-dyJ" secondAttribute="trailing" id="54Y-dd-gNq"/> | |
| 43 | + <constraint firstItem="65A-no-dyJ" firstAttribute="top" secondItem="KvN-Pb-Nub" secondAttribute="top" id="ATk-pq-QJJ"/> | |
| 44 | + <constraint firstItem="65A-no-dyJ" firstAttribute="leading" secondItem="KvN-Pb-Nub" secondAttribute="leading" id="l5s-Ax-axE"/> | |
| 45 | + </constraints> | |
| 46 | + </stackView> | |
| 47 | + </subviews> | |
| 48 | + <constraints> | |
| 49 | + <constraint firstItem="KvN-Pb-Nub" firstAttribute="leading" secondItem="IYF-5b-c3m" secondAttribute="leading" id="09s-Vs-jBg"/> | |
| 50 | + <constraint firstItem="KvN-Pb-Nub" firstAttribute="width" secondItem="IYF-5b-c3m" secondAttribute="width" id="5wf-4c-5Xd"/> | |
| 51 | + <constraint firstItem="KvN-Pb-Nub" firstAttribute="top" secondItem="IYF-5b-c3m" secondAttribute="top" id="LQM-Ax-Q3o"/> | |
| 52 | + <constraint firstItem="KvN-Pb-Nub" firstAttribute="centerX" secondItem="IYF-5b-c3m" secondAttribute="centerX" id="QaL-zJ-Vej"/> | |
| 53 | + <constraint firstAttribute="trailing" secondItem="KvN-Pb-Nub" secondAttribute="trailing" id="sRO-Ai-dtq"/> | |
| 54 | + <constraint firstAttribute="bottom" secondItem="KvN-Pb-Nub" secondAttribute="bottom" id="ygU-WM-4eC"/> | |
| 55 | + </constraints> | |
| 56 | + </scrollView> | |
| 57 | + </subviews> | |
| 23 | 58 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
| 59 | + <constraints> | |
| 60 | + <constraint firstItem="bXh-Wr-qy6" firstAttribute="top" secondItem="IYF-5b-c3m" secondAttribute="bottom" id="4Fj-ek-MrC"/> | |
| 61 | + <constraint firstItem="IYF-5b-c3m" firstAttribute="leading" secondItem="ao2-Oa-iAS" secondAttribute="leading" id="Gw1-De-QXC"/> | |
| 62 | + <constraint firstAttribute="trailing" secondItem="IYF-5b-c3m" secondAttribute="trailing" id="lOu-N7-px1"/> | |
| 63 | + <constraint firstItem="IYF-5b-c3m" firstAttribute="top" secondItem="8Fm-xC-jSr" secondAttribute="bottom" id="r8a-fu-6SW"/> | |
| 64 | + </constraints> | |
| 24 | 65 | </view> |
| 66 | + <navigationItem key="navigationItem" title="筛选" id="XhF-gh-xmO"> | |
| 67 | + <barButtonItem key="rightBarButtonItem" title="取消" id="sh5-cw-Jab"> | |
| 68 | + <connections> | |
| 69 | + <action selector="dismissAction:" destination="J51-bf-ysq" id="nh3-AE-6cX"/> | |
| 70 | + </connections> | |
| 71 | + </barButtonItem> | |
| 72 | + </navigationItem> | |
| 25 | 73 | <simulatedNavigationBarMetrics key="simulatedTopBarMetrics" prompted="NO"/> |
| 74 | + <connections> | |
| 75 | + <outlet property="scrollContentView" destination="KvN-Pb-Nub" id="NiI-XK-4DK"/> | |
| 76 | + </connections> | |
| 26 | 77 | </viewController> |
| 27 | 78 | <placeholder placeholderIdentifier="IBFirstResponder" id="ocM-s7-Wga" userLabel="First Responder" sceneMemberID="firstResponder"/> |
| 28 | 79 | </objects> |
| 29 | - <point key="canvasLocation" x="-737" y="266"/> | |
| 80 | + <point key="canvasLocation" x="-738.39999999999998" y="265.81709145427288"/> | |
| 30 | 81 | </scene> |
| 31 | 82 | <!--Live Infor View Controller--> |
| 32 | 83 | <scene sceneID="QrF-a4-VNS"> | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/Resource/ResourceViewController.swift
| ... | ... | @@ -107,7 +107,7 @@ class ResourceViewController: UIViewController,UITableViewDelegate,UITableViewDa |
| 107 | 107 | // MARK: - 跳转到筛选 |
| 108 | 108 | @IBAction func jumpFilterVCAction(_ sender: UIButton) { |
| 109 | 109 | let vc = UIStoryboard(name: "Resource", bundle: nil).instantiateViewController(withIdentifier: "FilterViewController") as! FilterViewController |
| 110 | - self.navigationController?.pushViewController(vc, animated: true) | |
| 110 | + self.present(vc.wrapWithNavigationController(), animated: true, completion: nil) | |
| 111 | 111 | } |
| 112 | 112 | |
| 113 | 113 | func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/Resource/View/FilterCollectionViewCell.swift
0 → 100644
| ... | ... | @@ -0,0 +1,19 @@ |
| 1 | +// | |
| 2 | +// FilterCollectionViewCell.swift | |
| 3 | +// YouerLiveVideo | |
| 4 | +// | |
| 5 | +// Created by 葛建军 on 17/5/23. | |
| 6 | +// Copyright © 2017年 左丞. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +import UIKit | |
| 10 | + | |
| 11 | +class FilterCollectionViewCell: UICollectionViewCell { | |
| 12 | + | |
| 13 | + @IBOutlet var titleLabel: UILabel! | |
| 14 | + override func awakeFromNib() { | |
| 15 | + super.awakeFromNib() | |
| 16 | + // Initialization code | |
| 17 | + } | |
| 18 | + | |
| 19 | +} | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/Resource/View/FilterCollectionViewCell.xib
0 → 100644
| ... | ... | @@ -0,0 +1,48 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
| 2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11762" systemVersion="15G1217" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> | |
| 3 | + <device id="retina4_7" orientation="portrait"> | |
| 4 | + <adaptation id="fullscreen"/> | |
| 5 | + </device> | |
| 6 | + <dependencies> | |
| 7 | + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11757"/> | |
| 8 | + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | |
| 9 | + </dependencies> | |
| 10 | + <objects> | |
| 11 | + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> | |
| 12 | + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | |
| 13 | + <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="identifier" id="gTV-IL-0wX" customClass="FilterCollectionViewCell" customModule="YouerLiveVideo" customModuleProvider="target"> | |
| 14 | + <rect key="frame" x="0.0" y="0.0" width="120" height="40"/> | |
| 15 | + <autoresizingMask key="autoresizingMask"/> | |
| 16 | + <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> | |
| 17 | + <rect key="frame" x="0.0" y="0.0" width="120" height="40"/> | |
| 18 | + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | |
| 19 | + <subviews> | |
| 20 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="小学" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="F0D-46-jda"> | |
| 21 | + <rect key="frame" x="0.0" y="0.0" width="120" height="40"/> | |
| 22 | + <color key="backgroundColor" red="0.10980392160000001" green="0.63529411759999999" blue="1" alpha="1" colorSpace="calibratedRGB"/> | |
| 23 | + <fontDescription key="fontDescription" type="system" pointSize="15"/> | |
| 24 | + <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
| 25 | + <nil key="highlightedColor"/> | |
| 26 | + <userDefinedRuntimeAttributes> | |
| 27 | + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/> | |
| 28 | + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> | |
| 29 | + <integer key="value" value="5"/> | |
| 30 | + </userDefinedRuntimeAttribute> | |
| 31 | + </userDefinedRuntimeAttributes> | |
| 32 | + </label> | |
| 33 | + </subviews> | |
| 34 | + </view> | |
| 35 | + <constraints> | |
| 36 | + <constraint firstItem="F0D-46-jda" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="33t-wF-LMs"/> | |
| 37 | + <constraint firstAttribute="trailing" secondItem="F0D-46-jda" secondAttribute="trailing" id="M5r-RT-2BD"/> | |
| 38 | + <constraint firstAttribute="bottom" secondItem="F0D-46-jda" secondAttribute="bottom" id="NdF-Eb-c7u"/> | |
| 39 | + <constraint firstItem="F0D-46-jda" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="TNg-FI-q5K"/> | |
| 40 | + </constraints> | |
| 41 | + <size key="customSize" width="122" height="38"/> | |
| 42 | + <connections> | |
| 43 | + <outlet property="titleLabel" destination="F0D-46-jda" id="CGy-n4-6ma"/> | |
| 44 | + </connections> | |
| 45 | + <point key="canvasLocation" x="-80" y="-77"/> | |
| 46 | + </collectionViewCell> | |
| 47 | + </objects> | |
| 48 | +</document> | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/Resource/View/FilterView.swift
0 → 100644
| ... | ... | @@ -0,0 +1,93 @@ |
| 1 | +// | |
| 2 | +// FilterView.swift | |
| 3 | +// YouerLiveVideo | |
| 4 | +// | |
| 5 | +// Created by 葛建军 on 17/5/23. | |
| 6 | +// Copyright © 2017年 左丞. All rights reserved. | |
| 7 | +// | |
| 8 | + | |
| 9 | +import UIKit | |
| 10 | + | |
| 11 | +class FilterView: UIView,UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout { | |
| 12 | + @IBOutlet var titleLabel: UILabel! | |
| 13 | + @IBOutlet var collectionView: UICollectionView! | |
| 14 | + var isOpen:Bool=false | |
| 15 | + var dataAry:[filterModel]=[] | |
| 16 | + var delegate:FilterViewDelegate! | |
| 17 | + var selected:Int = -1 | |
| 18 | + var numberLines:Int! | |
| 19 | + var cellWidth=(getScreenWidth()-80)/3 | |
| 20 | + var cellHeight=(getScreenWidth()-80)/12 | |
| 21 | + override func awakeFromNib() { | |
| 22 | + super.awakeFromNib() | |
| 23 | + collectionView.register(UINib(nibName: "FilterCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "identifier") | |
| 24 | + } | |
| 25 | + func setUpWithItems(title:String,array:[filterModel]) { | |
| 26 | + titleLabel.text=title | |
| 27 | + dataAry=array | |
| 28 | + numberLines = array.count%3 > 0 ? array.count/3+1 : array.count/3 | |
| 29 | + self.collectionView.reloadData() | |
| 30 | + } | |
| 31 | + func changeItems(array:[filterModel]){ | |
| 32 | + dataAry=array | |
| 33 | + numberLines = array.count%3 > 0 ? array.count/3+1 : array.count/3 | |
| 34 | + self.collectionView.reloadData() | |
| 35 | + } | |
| 36 | + @IBAction func openOrCloseAction(_ sender: UIButton) { | |
| 37 | + if isOpen { | |
| 38 | + isOpen=false | |
| 39 | + self.constraints.last!.constant=60+cellHeight | |
| 40 | + }else{ | |
| 41 | + if dataAry.count>3{ | |
| 42 | + isOpen=true | |
| 43 | + self.constraints.last!.constant=60+cellHeight+CGFloat(numberLines-1)*(cellHeight+10) | |
| 44 | + self.collectionView.reloadData() | |
| 45 | + } | |
| 46 | + } | |
| 47 | + } | |
| 48 | + func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { | |
| 49 | + return CGSize(width: cellWidth, height: cellHeight) | |
| 50 | + } | |
| 51 | + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { | |
| 52 | + let cell=collectionView.dequeueReusableCell(withReuseIdentifier: "identifier", for: indexPath) as! FilterCollectionViewCell | |
| 53 | + switch self.tag { | |
| 54 | + case 0: | |
| 55 | + cell.titleLabel.text=(dataAry as! [SchoolSection])[indexPath.row].f_SchoolType | |
| 56 | + case 1: | |
| 57 | + cell.titleLabel.text=(dataAry as! [Grade])[indexPath.row].f_GradeName | |
| 58 | + case 2: | |
| 59 | + cell.titleLabel.text=(dataAry as! [Subject])[indexPath.row].f_SubjectName | |
| 60 | + default: | |
| 61 | + cell.titleLabel.text="未知" | |
| 62 | + } | |
| 63 | + if indexPath.row==selected { | |
| 64 | + cell.titleLabel.backgroundColor=Theme.topBarColor() | |
| 65 | + cell.titleLabel.textColor=UIColor.white | |
| 66 | + }else{ | |
| 67 | + cell.titleLabel.backgroundColor=UIColor.groupTableViewBackground | |
| 68 | + cell.titleLabel.textColor=UIColor.black | |
| 69 | + } | |
| 70 | + return cell | |
| 71 | + } | |
| 72 | + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { | |
| 73 | + if isOpen { | |
| 74 | + return dataAry.count | |
| 75 | + }else{ | |
| 76 | + if dataAry.count<4 { | |
| 77 | + return dataAry.count | |
| 78 | + }else{ | |
| 79 | + return 3 | |
| 80 | + } | |
| 81 | + } | |
| 82 | + } | |
| 83 | + func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { | |
| 84 | + if selected != indexPath.row { | |
| 85 | + selected=indexPath.row | |
| 86 | + self.delegate.selectCurrentCount(index: indexPath.row, tag: self.tag) | |
| 87 | + self.collectionView.reloadData() | |
| 88 | + } | |
| 89 | + } | |
| 90 | +} | |
| 91 | +protocol FilterViewDelegate { | |
| 92 | + func selectCurrentCount(index:Int,tag:Int) | |
| 93 | +} | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/Resource/View/FilterView.xib
0 → 100644
| ... | ... | @@ -0,0 +1,98 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
| 2 | +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11762" systemVersion="15G1217" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> | |
| 3 | + <device id="retina4_7" orientation="portrait"> | |
| 4 | + <adaptation id="fullscreen"/> | |
| 5 | + </device> | |
| 6 | + <dependencies> | |
| 7 | + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11757"/> | |
| 8 | + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | |
| 9 | + </dependencies> | |
| 10 | + <objects> | |
| 11 | + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> | |
| 12 | + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | |
| 13 | + <view clipsSubviews="YES" contentMode="scaleToFill" id="iN0-l3-epB" customClass="FilterView" customModule="YouerLiveVideo" customModuleProvider="target"> | |
| 14 | + <rect key="frame" x="0.0" y="0.0" width="406" height="242"/> | |
| 15 | + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | |
| 16 | + <subviews> | |
| 17 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="学段" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uQz-xV-iAD"> | |
| 18 | + <rect key="frame" x="20" y="10" width="33" height="20"/> | |
| 19 | + <fontDescription key="fontDescription" type="system" pointSize="16"/> | |
| 20 | + <nil key="textColor"/> | |
| 21 | + <nil key="highlightedColor"/> | |
| 22 | + </label> | |
| 23 | + <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="PUk-bf-FTI"> | |
| 24 | + <rect key="frame" x="20" y="40" width="366" height="182"/> | |
| 25 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | |
| 26 | + <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="0.0" id="CMD-Fw-Sjo"> | |
| 27 | + <size key="itemSize" width="50" height="50"/> | |
| 28 | + <size key="headerReferenceSize" width="0.0" height="0.0"/> | |
| 29 | + <size key="footerReferenceSize" width="0.0" height="0.0"/> | |
| 30 | + <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/> | |
| 31 | + </collectionViewFlowLayout> | |
| 32 | + <connections> | |
| 33 | + <outlet property="dataSource" destination="iN0-l3-epB" id="ESV-a0-hCq"/> | |
| 34 | + <outlet property="delegate" destination="iN0-l3-epB" id="RXH-fJ-Hll"/> | |
| 35 | + </connections> | |
| 36 | + </collectionView> | |
| 37 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="cif-Vg-cMI"> | |
| 38 | + <rect key="frame" x="336" y="0.0" width="50" height="34"/> | |
| 39 | + <subviews> | |
| 40 | + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="全部" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Xgp-Yj-rju"> | |
| 41 | + <rect key="frame" x="0.0" y="0.0" width="42" height="34"/> | |
| 42 | + <fontDescription key="fontDescription" type="system" pointSize="13"/> | |
| 43 | + <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/> | |
| 44 | + <nil key="highlightedColor"/> | |
| 45 | + </label> | |
| 46 | + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_more" translatesAutoresizingMaskIntoConstraints="NO" id="Yi5-oE-p54"> | |
| 47 | + <rect key="frame" x="42" y="10" width="8" height="15"/> | |
| 48 | + <constraints> | |
| 49 | + <constraint firstAttribute="width" constant="8" id="8pU-3b-hVL"/> | |
| 50 | + <constraint firstAttribute="height" constant="15" id="YoR-To-kNi"/> | |
| 51 | + </constraints> | |
| 52 | + </imageView> | |
| 53 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="vFg-ez-6yB"> | |
| 54 | + <rect key="frame" x="0.0" y="0.0" width="50" height="34"/> | |
| 55 | + <connections> | |
| 56 | + <action selector="openOrCloseAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="enY-8P-rHR"/> | |
| 57 | + </connections> | |
| 58 | + </button> | |
| 59 | + </subviews> | |
| 60 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | |
| 61 | + <constraints> | |
| 62 | + <constraint firstAttribute="bottom" secondItem="Xgp-Yj-rju" secondAttribute="bottom" id="5pX-4I-aV1"/> | |
| 63 | + <constraint firstAttribute="trailing" secondItem="vFg-ez-6yB" secondAttribute="trailing" id="8oA-tR-a9S"/> | |
| 64 | + <constraint firstAttribute="bottom" secondItem="vFg-ez-6yB" secondAttribute="bottom" id="8pE-Nx-jdY"/> | |
| 65 | + <constraint firstItem="Xgp-Yj-rju" firstAttribute="leading" secondItem="cif-Vg-cMI" secondAttribute="leading" id="Acg-vU-eDj"/> | |
| 66 | + <constraint firstItem="vFg-ez-6yB" firstAttribute="top" secondItem="cif-Vg-cMI" secondAttribute="top" id="EGn-rn-FhX"/> | |
| 67 | + <constraint firstItem="Yi5-oE-p54" firstAttribute="leading" secondItem="Xgp-Yj-rju" secondAttribute="trailing" id="EU8-pp-uj6"/> | |
| 68 | + <constraint firstItem="Yi5-oE-p54" firstAttribute="centerY" secondItem="cif-Vg-cMI" secondAttribute="centerY" id="dI6-h0-ve2"/> | |
| 69 | + <constraint firstAttribute="width" constant="50" id="gp7-jN-cTr"/> | |
| 70 | + <constraint firstItem="Xgp-Yj-rju" firstAttribute="top" secondItem="cif-Vg-cMI" secondAttribute="top" id="mKd-KO-MU9"/> | |
| 71 | + <constraint firstItem="vFg-ez-6yB" firstAttribute="leading" secondItem="cif-Vg-cMI" secondAttribute="leading" id="oQy-yz-nC5"/> | |
| 72 | + <constraint firstAttribute="trailing" secondItem="Yi5-oE-p54" secondAttribute="trailing" id="qP2-LK-MJS"/> | |
| 73 | + </constraints> | |
| 74 | + </view> | |
| 75 | + </subviews> | |
| 76 | + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | |
| 77 | + <constraints> | |
| 78 | + <constraint firstItem="uQz-xV-iAD" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" constant="10" id="5ZE-95-bk1"/> | |
| 79 | + <constraint firstAttribute="bottom" secondItem="PUk-bf-FTI" secondAttribute="bottom" constant="20" id="8xy-ni-fOt"/> | |
| 80 | + <constraint firstAttribute="trailing" secondItem="cif-Vg-cMI" secondAttribute="trailing" constant="20" id="DPa-oT-ZVi"/> | |
| 81 | + <constraint firstItem="PUk-bf-FTI" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" id="MAr-8E-ipy"/> | |
| 82 | + <constraint firstItem="PUk-bf-FTI" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" constant="40" id="NkW-cH-ltZ"/> | |
| 83 | + <constraint firstAttribute="trailing" secondItem="PUk-bf-FTI" secondAttribute="trailing" constant="20" id="fwr-U1-zDh"/> | |
| 84 | + <constraint firstItem="uQz-xV-iAD" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" id="gNr-Pg-F54"/> | |
| 85 | + <constraint firstItem="cif-Vg-cMI" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="kKV-TT-4Ov"/> | |
| 86 | + </constraints> | |
| 87 | + <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/> | |
| 88 | + <connections> | |
| 89 | + <outlet property="collectionView" destination="PUk-bf-FTI" id="lcH-DQ-bM9"/> | |
| 90 | + <outlet property="titleLabel" destination="uQz-xV-iAD" id="in8-lv-Coj"/> | |
| 91 | + </connections> | |
| 92 | + <point key="canvasLocation" x="4" y="-317"/> | |
| 93 | + </view> | |
| 94 | + </objects> | |
| 95 | + <resources> | |
| 96 | + <image name="icon_more" width="8" height="14"/> | |
| 97 | + </resources> | |
| 98 | +</document> | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/User/UserCenter/RegisterViewController.swift
| ... | ... | @@ -85,7 +85,7 @@ class RegisterViewController: UIViewController,UIAlertViewDelegate,UIImagePicker |
| 85 | 85 | if inputVerificationCode.text!.characters.count == 4{ |
| 86 | 86 | SVProgressHUD.show(withStatus: "注册...") |
| 87 | 87 | SVProgressHUD.setDefaultMaskType(.black) |
| 88 | - let parameters:Dictionary<String,AnyObject>=["account":phoneNumber.text! as AnyObject,"password":passwordTextField.text! as AnyObject,"vercode":inputVerificationCode.text! as AnyObject,"nickname": (nikeNameTextFiled.text!=="" ? phoneNumber.text! : nikeNameTextFiled.text!) as AnyObject] | |
| 88 | + let parameters:Dictionary<String,AnyObject>=["account":phoneNumber.text! as AnyObject,"password":passwordTextField.text!.md5() as AnyObject,"vercode":inputVerificationCode.text! as AnyObject,"nickname": (nikeNameTextFiled.text!=="" ? phoneNumber.text! : nikeNameTextFiled.text!) as AnyObject] | |
| 89 | 89 | AppDelegate.instance().httpServer.getCreateUser(parameters: parameters) { (str, error) in |
| 90 | 90 | SVProgressHUD.dismiss() |
| 91 | 91 | self.nikeNameTextFiled.isUserInteractionEnabled=true |
| ... | ... | @@ -95,7 +95,7 @@ class RegisterViewController: UIViewController,UIAlertViewDelegate,UIImagePicker |
| 95 | 95 | if error==nil { |
| 96 | 96 | if JSON.fromString(jsonString: str)!["status"].intValue == 1{ |
| 97 | 97 | httpJsonResule(jsonString: str, error: error, successHandler: { (json) in |
| 98 | - self.navigationController!.popToRootViewController(animated: true) | |
| 98 | + self.navigationController!.dismiss(animated: true, completion: nil) | |
| 99 | 99 | AppDelegate.instance().window?.makeToast("注册成功") |
| 100 | 100 | NotificationCenter.default.post(name: NSNotification.Name(rawValue: "refreshLoginUser"), object: self.phoneNumber.text!) |
| 101 | 101 | //是否登录 | ... | ... |
YouerLiveVideo/YouerLiveVideo/controllers/User/UserCenter/User.storyboard
| ... | ... | @@ -78,7 +78,6 @@ |
| 78 | 78 | </imageView> |
| 79 | 79 | <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入账号" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="IzH-dB-I9H"> |
| 80 | 80 | <rect key="frame" x="36" y="18.5" width="339" height="19"/> |
| 81 | - <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
| 82 | 81 | <fontDescription key="fontDescription" type="system" pointSize="13"/> |
| 83 | 82 | <textInputTraits key="textInputTraits" keyboardType="numberPad"/> |
| 84 | 83 | <connections> |
| ... | ... | @@ -121,7 +120,6 @@ |
| 121 | 120 | </imageView> |
| 122 | 121 | <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入密码" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="nVn-EA-yWM"> |
| 123 | 122 | <rect key="frame" x="36" y="18.5" width="339" height="19"/> |
| 124 | - <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | |
| 125 | 123 | <fontDescription key="fontDescription" type="system" pointSize="13"/> |
| 126 | 124 | <textInputTraits key="textInputTraits" secureTextEntry="YES"/> |
| 127 | 125 | <connections> |
| ... | ... | @@ -551,7 +549,7 @@ |
| 551 | 549 | <nil key="highlightedColor"/> |
| 552 | 550 | </label> |
| 553 | 551 | <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入手机号码 " minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="nVJ-81-bXY"> |
| 554 | - <rect key="frame" x="89" y="18.5" width="123.5" height="19"/> | |
| 552 | + <rect key="frame" x="89" y="19" width="177" height="19"/> | |
| 555 | 553 | <fontDescription key="fontDescription" type="system" pointSize="15"/> |
| 556 | 554 | <textInputTraits key="textInputTraits" keyboardType="numberPad" returnKeyType="done"/> |
| 557 | 555 | <connections> |
| ... | ... | @@ -561,6 +559,9 @@ |
| 561 | 559 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="hwv-0n-dsf"> |
| 562 | 560 | <rect key="frame" x="274" y="13" width="93" height="30"/> |
| 563 | 561 | <color key="backgroundColor" red="0.10980392160000001" green="0.63529411759999999" blue="1" alpha="1" colorSpace="calibratedRGB"/> |
| 562 | + <constraints> | |
| 563 | + <constraint firstAttribute="width" constant="93" id="tn3-0t-fnt"/> | |
| 564 | + </constraints> | |
| 564 | 565 | <fontDescription key="fontDescription" type="system" pointSize="15"/> |
| 565 | 566 | <state key="normal" title=" 发送验证码 "> |
| 566 | 567 | <color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
| ... | ... | @@ -586,6 +587,7 @@ |
| 586 | 587 | <constraint firstAttribute="trailing" secondItem="hwv-0n-dsf" secondAttribute="trailing" constant="8" id="jCe-9b-HiL"/> |
| 587 | 588 | <constraint firstItem="hwv-0n-dsf" firstAttribute="centerY" secondItem="vkP-pb-ydp" secondAttribute="centerY" id="mgL-oA-0oG"/> |
| 588 | 589 | <constraint firstAttribute="trailing" secondItem="MEf-rE-fBh" secondAttribute="trailing" id="nEG-6h-NXY"/> |
| 590 | + <constraint firstItem="hwv-0n-dsf" firstAttribute="leading" secondItem="nVJ-81-bXY" secondAttribute="trailing" constant="8" id="u7R-Pm-UM9"/> | |
| 589 | 591 | <constraint firstAttribute="bottom" secondItem="MEf-rE-fBh" secondAttribute="bottom" id="y9Q-1X-3wy"/> |
| 590 | 592 | <constraint firstItem="nVJ-81-bXY" firstAttribute="leading" secondItem="ae8-Wz-CYH" secondAttribute="trailing" constant="8" id="zxS-jB-eC8"/> |
| 591 | 593 | </constraints> |
| ... | ... | @@ -738,7 +740,7 @@ |
| 738 | 740 | </connections> |
| 739 | 741 | </tapGestureRecognizer> |
| 740 | 742 | </objects> |
| 741 | - <point key="canvasLocation" x="-1446" y="1533"/> | |
| 743 | + <point key="canvasLocation" x="-1447.2" y="1532.3838080959522"/> | |
| 742 | 744 | </scene> |
| 743 | 745 | <!--注册--> |
| 744 | 746 | <scene sceneID="fjB-PO-uzD"> | ... | ... |
YouerLiveVideo/YouerLiveVideo/util/network.swift
| ... | ... | @@ -228,12 +228,12 @@ final class HTTPServer{ |
| 228 | 228 | KHttp.GET(url: HTTPServer.URL_COMMONGETCOURSEWAREVERSIONS, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler) |
| 229 | 229 | } |
| 230 | 230 | //获取学科 |
| 231 | - func getSubjects(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){ | |
| 232 | - KHttp.GET(url: HTTPServer.URL_COMMONGETSUBJECTS, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler) | |
| 231 | + func getSubjects(completionHandler:@escaping (String?, NSError?) -> ()){ | |
| 232 | + KHttp.GET(url: HTTPServer.URL_COMMONGETSUBJECTS, headers:["Authorization":token!], completionHandler: completionHandler) | |
| 233 | 233 | } |
| 234 | 234 | //获取学段 |
| 235 | - func getSchoolTypes(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){ | |
| 236 | - KHttp.GET(url: HTTPServer.URL_COMMONGETSCHOOLTYPES, parameters: parameters,headers:["Authorization":token!], completionHandler: completionHandler) | |
| 235 | + func getSchoolTypes(completionHandler:@escaping (String?, NSError?) -> ()){ | |
| 236 | + KHttp.GET(url: HTTPServer.URL_COMMONGETSCHOOLTYPES, headers:["Authorization":token!], completionHandler: completionHandler) | |
| 237 | 237 | } |
| 238 | 238 | //获取轮播图 type:0-视频云前端轮播图 1-校园电视台轮播图 |
| 239 | 239 | func getLunboList(parameters: [String : AnyObject]?,completionHandler:@escaping (String?, NSError?) -> ()){ | ... | ... |