diff --git a/Yep.xcodeproj/project.pbxproj b/Yep.xcodeproj/project.pbxproj index a4e44cfc..85c4a6d0 100644 --- a/Yep.xcodeproj/project.pbxproj +++ b/Yep.xcodeproj/project.pbxproj @@ -247,6 +247,7 @@ 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 */; }; @@ -565,6 +566,7 @@ 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 = ""; }; @@ -990,6 +992,7 @@ 50A820231B969B0F007CD30E /* NSTimeZone+Yep.swift */, 504F5E6E1B9F1F13006CE418 /* NSURLRequest+cURL.swift */, 50DEE0381BE7020900015741 /* UITableView+Yep.swift */, + 50DEE03A1BE70B5100015741 /* UICollectionView+Yep.swift */, ); name = Extensions; sourceTree = ""; @@ -2414,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/ViewControllers/TabBar/YepTabBarController.swift b/Yep/ViewControllers/TabBar/YepTabBarController.swift index 8246ae0e..12c81c22 100644 --- a/Yep/ViewControllers/TabBar/YepTabBarController.swift +++ b/Yep/ViewControllers/TabBar/YepTabBarController.swift @@ -119,11 +119,18 @@ extension YepTabBarController: UITabBarControllerDelegate { } case .Discover: - let vc = nvc.topViewController as? DiscoverViewController + if let vc = nvc.topViewController as? DiscoverViewController { + if !vc.discoveredUsersCollectionView.yep_isAtTop { + vc.discoveredUsersCollectionView.yep_scrollsToTop() + } + } case .Profile: - let vc = nvc.topViewController as? ProfileViewController - + if let vc = nvc.topViewController as? ProfileViewController { + if !vc.profileCollectionView.yep_isAtTop { + vc.profileCollectionView.yep_scrollsToTop() + } + } } /*