diff --git a/Podfile.lock b/Podfile.lock index 1bddf648..2c4987f5 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -52,7 +52,7 @@ DEPENDENCIES: EXTERNAL SOURCES: MZFayeClient: - :path: "../CatchLib-iOS/MZFayeClient/" + :path: ../CatchLib-iOS/MZFayeClient/ SPEC CHECKSUMS: 1PasswordExtension: 676a216461ffa9189db66541b5a2465e10ae4743 diff --git a/Yep.xcodeproj/project.pbxproj b/Yep.xcodeproj/project.pbxproj index 367a6953..85c4a6d0 100644 --- a/Yep.xcodeproj/project.pbxproj +++ b/Yep.xcodeproj/project.pbxproj @@ -246,6 +246,8 @@ 50DEE0321BE339B000015741 /* LoadMoreTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 50DEE0301BE339B000015741 /* LoadMoreTableViewCell.xib */; }; 50DEE0361BE3720F00015741 /* LoadMoreCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50DEE0341BE3720F00015741 /* LoadMoreCollectionViewCell.swift */; }; 50DEE0371BE3720F00015741 /* LoadMoreCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 50DEE0351BE3720F00015741 /* LoadMoreCollectionViewCell.xib */; }; + 50DEE0391BE7020900015741 /* UITableView+Yep.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50DEE0381BE7020900015741 /* UITableView+Yep.swift */; }; + 50DEE03B1BE70B5100015741 /* UICollectionView+Yep.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50DEE03A1BE70B5100015741 /* UICollectionView+Yep.swift */; }; 50E114F41ABBF9CC00F13000 /* Models.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50E114F31ABBF9CC00F13000 /* Models.swift */; }; 50E114F91ABC137A00F13000 /* YepServiceSync.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50E114F81ABC137A00F13000 /* YepServiceSync.swift */; }; 50E114FC1ABC549300F13000 /* ContactsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50E114FA1ABC549300F13000 /* ContactsCell.swift */; }; @@ -563,6 +565,8 @@ 50DEE0301BE339B000015741 /* LoadMoreTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = LoadMoreTableViewCell.xib; path = Views/Cells/LoadMore/LoadMoreTableViewCell.xib; sourceTree = ""; }; 50DEE0341BE3720F00015741 /* LoadMoreCollectionViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LoadMoreCollectionViewCell.swift; path = Views/Cells/LoadMore/LoadMoreCollectionViewCell.swift; sourceTree = ""; }; 50DEE0351BE3720F00015741 /* LoadMoreCollectionViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = LoadMoreCollectionViewCell.xib; path = Views/Cells/LoadMore/LoadMoreCollectionViewCell.xib; sourceTree = ""; }; + 50DEE0381BE7020900015741 /* UITableView+Yep.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UITableView+Yep.swift"; path = "Extensions/UITableView+Yep.swift"; sourceTree = ""; }; + 50DEE03A1BE70B5100015741 /* UICollectionView+Yep.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UICollectionView+Yep.swift"; path = "Extensions/UICollectionView+Yep.swift"; sourceTree = ""; }; 50E114F31ABBF9CC00F13000 /* Models.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Models.swift; path = Realm/Models.swift; sourceTree = ""; }; 50E114F81ABC137A00F13000 /* YepServiceSync.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = YepServiceSync.swift; path = Services/YepServiceSync.swift; sourceTree = ""; }; 50E114FA1ABC549300F13000 /* ContactsCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ContactsCell.swift; path = Views/Cells/Contacts/ContactsCell.swift; sourceTree = ""; }; @@ -987,6 +991,8 @@ 5080EB1E1B93F932006F3C2D /* NSBundle+Yep.swift */, 50A820231B969B0F007CD30E /* NSTimeZone+Yep.swift */, 504F5E6E1B9F1F13006CE418 /* NSURLRequest+cURL.swift */, + 50DEE0381BE7020900015741 /* UITableView+Yep.swift */, + 50DEE03A1BE70B5100015741 /* UICollectionView+Yep.swift */, ); name = Extensions; sourceTree = ""; @@ -2371,6 +2377,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 50DEE0391BE7020900015741 /* UITableView+Yep.swift in Sources */, 50894CFE1AEA5A78000981AF /* EditProfileViewController.swift in Sources */, 50CDBE421ACA9B4200459CE0 /* ChatRightImageCell.swift in Sources */, 5099B9C41AB9510D002F940B /* RankView.swift in Sources */, @@ -2410,6 +2417,7 @@ 502AE53D1AB87C0D005BD199 /* YepUserDefaults.swift in Sources */, 50F5AF881BBBB2AE0033C9BC /* HorizontalLineView.swift in Sources */, 50EB8CC41AE89F12001AC1EE /* ChatRightVideoCell.swift in Sources */, + 50DEE03B1BE70B5100015741 /* UICollectionView+Yep.swift in Sources */, 50AACECF1BB93336004DD54B /* FeedMediaView.swift in Sources */, 50DEE02C1BE209FF00015741 /* DeletedFeedConversationCell.swift in Sources */, 50D4D0DB1AFA825B005AEB6F /* MediaControlView.swift in Sources */, diff --git a/Yep/Extensions/UICollectionView+Yep.swift b/Yep/Extensions/UICollectionView+Yep.swift new file mode 100644 index 00000000..36eb613f --- /dev/null +++ b/Yep/Extensions/UICollectionView+Yep.swift @@ -0,0 +1,23 @@ +// +// UICollectionView+Yep.swift +// Yep +// +// Created by nixzhu on 15/11/2. +// Copyright © 2015年 Catch Inc. All rights reserved. +// + +import UIKit + +extension UICollectionView { + + var yep_isAtTop: Bool { + + return contentOffset.y == -contentInset.top + } + + func yep_scrollsToTop() { + + let topPoint = CGPoint(x: 0, y: -contentInset.top) + setContentOffset(topPoint, animated: true) + } +} diff --git a/Yep/Extensions/UITableView+Yep.swift b/Yep/Extensions/UITableView+Yep.swift new file mode 100644 index 00000000..9bedc1e4 --- /dev/null +++ b/Yep/Extensions/UITableView+Yep.swift @@ -0,0 +1,24 @@ +// +// UITableView+Yep.swift +// Yep +// +// Created by nixzhu on 15/11/2. +// Copyright © 2015年 Catch Inc. All rights reserved. +// + +import UIKit + +extension UITableView { + + var yep_isAtTop: Bool { + + return contentOffset.y == -contentInset.top + } + + func yep_scrollsToTop() { + + let topPoint = CGPoint(x: 0, y: -contentInset.top) + setContentOffset(topPoint, animated: true) + } +} + diff --git a/Yep/ViewControllers/TabBar/YepTabBarController.swift b/Yep/ViewControllers/TabBar/YepTabBarController.swift index 56213ee2..1369fb90 100644 --- a/Yep/ViewControllers/TabBar/YepTabBarController.swift +++ b/Yep/ViewControllers/TabBar/YepTabBarController.swift @@ -10,6 +10,33 @@ import UIKit class YepTabBarController: UITabBarController { + enum Tab: Int { + + case Conversations + case Contacts + case Feeds + case Discover + case Profile + + var title: String { + + switch self { + case .Conversations: + return NSLocalizedString("Chats", comment: "") + case .Contacts: + return NSLocalizedString("Contacts", comment: "") + case .Feeds: + return NSLocalizedString("Feeds", comment: "") + case .Discover: + return NSLocalizedString("Discover", comment: "") + case .Profile: + return NSLocalizedString("Profile", comment: "") + } + } + } + + var previousTab = Tab.Conversations + struct Listener { static let lauchStyle = "YepTabBarController.lauchStyle" } @@ -37,19 +64,12 @@ class YepTabBarController: UITabBarController { } */ + // Set Titles + if let items = tabBar.items { - - let titles = [ - NSLocalizedString("Chats", comment: ""), - NSLocalizedString("Contacts", comment: ""), - NSLocalizedString("Feeds", comment: ""), - NSLocalizedString("Discover", comment: ""), - NSLocalizedString("Profile", comment: ""), - ] - for i in 0..