From 4fdf0394f823bf814bd017a5e92756d4a7e9fe59 Mon Sep 17 00:00:00 2001 From: giomfo Date: Thu, 22 Oct 2015 17:22:10 +0200 Subject: [PATCH] MediaPicker: use the new MXKMediaCollectionViewCell class. --- Vector.xcodeproj/project.pbxproj | 34 ++++++----- .../MediaPickerViewController.m | 17 +++--- .../MediaPickerViewController.xib | 12 ++-- .../MediaAssetCollectionViewCell.h | 41 ------------- .../MediaAssetCollectionViewCell.m | 57 ------------------- .../MediaAssetCollectionViewCell.xib | 54 ------------------ 6 files changed, 32 insertions(+), 183 deletions(-) delete mode 100644 Vector/Views/CollectionViewCell/MediaAssetCollectionViewCell.h delete mode 100644 Vector/Views/CollectionViewCell/MediaAssetCollectionViewCell.m delete mode 100644 Vector/Views/CollectionViewCell/MediaAssetCollectionViewCell.xib diff --git a/Vector.xcodeproj/project.pbxproj b/Vector.xcodeproj/project.pbxproj index 9dc602512..a3ebc8bf3 100644 --- a/Vector.xcodeproj/project.pbxproj +++ b/Vector.xcodeproj/project.pbxproj @@ -23,8 +23,6 @@ F00B1BD01B95D22E001806E3 /* camera_switch.png in Resources */ = {isa = PBXBuildFile; fileRef = F00B1BCE1B95D22E001806E3 /* camera_switch.png */; }; F00B1BD31B95D478001806E3 /* camera_picture.png in Resources */ = {isa = PBXBuildFile; fileRef = F00B1BD11B95D478001806E3 /* camera_picture.png */; }; F00B1BD41B95D478001806E3 /* camera_video.png in Resources */ = {isa = PBXBuildFile; fileRef = F00B1BD21B95D478001806E3 /* camera_video.png */; }; - F00B1BD81B96E5DD001806E3 /* MediaAssetCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = F00B1BD71B96E5DD001806E3 /* MediaAssetCollectionViewCell.m */; }; - F00B1BDA1B96EAF3001806E3 /* MediaAssetCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = F00B1BD91B96EAF3001806E3 /* MediaAssetCollectionViewCell.xib */; }; F00B1BDC1B96EF09001806E3 /* selection_tick.png in Resources */ = {isa = PBXBuildFile; fileRef = F00B1BDB1B96EF09001806E3 /* selection_tick.png */; }; F00E08401B8380CF0057012C /* settings.png in Resources */ = {isa = PBXBuildFile; fileRef = F00E083E1B8380CF0057012C /* settings.png */; }; F00E08411B8380CF0057012C /* settings@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F00E083F1B8380CF0057012C /* settings@2x.png */; }; @@ -123,9 +121,6 @@ F00B1BCE1B95D22E001806E3 /* camera_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = camera_switch.png; sourceTree = ""; }; F00B1BD11B95D478001806E3 /* camera_picture.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = camera_picture.png; sourceTree = ""; }; F00B1BD21B95D478001806E3 /* camera_video.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = camera_video.png; sourceTree = ""; }; - F00B1BD61B96E5DD001806E3 /* MediaAssetCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaAssetCollectionViewCell.h; sourceTree = ""; }; - F00B1BD71B96E5DD001806E3 /* MediaAssetCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MediaAssetCollectionViewCell.m; sourceTree = ""; }; - F00B1BD91B96EAF3001806E3 /* MediaAssetCollectionViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MediaAssetCollectionViewCell.xib; sourceTree = ""; }; F00B1BDB1B96EF09001806E3 /* selection_tick.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = selection_tick.png; sourceTree = ""; }; F00E083E1B8380CF0057012C /* settings.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = settings.png; sourceTree = ""; }; F00E083F1B8380CF0057012C /* settings@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "settings@2x.png"; sourceTree = ""; }; @@ -250,7 +245,6 @@ isa = PBXGroup; children = ( F084DAAA1BB57BD100B4C530 /* Authentication */, - F00B1BD51B96E5DD001806E3 /* CollectionViewCell */, F001D7531B8207C000A162C3 /* RoomBubbleList */, F001D75A1B8207C000A162C3 /* RoomInputToolbar */, ); @@ -280,16 +274,6 @@ path = RoomInputToolbar; sourceTree = ""; }; - F00B1BD51B96E5DD001806E3 /* CollectionViewCell */ = { - isa = PBXGroup; - children = ( - F00B1BD61B96E5DD001806E3 /* MediaAssetCollectionViewCell.h */, - F00B1BD71B96E5DD001806E3 /* MediaAssetCollectionViewCell.m */, - F00B1BD91B96EAF3001806E3 /* MediaAssetCollectionViewCell.xib */, - ); - path = CollectionViewCell; - sourceTree = ""; - }; F084DAAA1BB57BD100B4C530 /* Authentication */ = { isa = PBXGroup; children = ( @@ -515,6 +499,7 @@ F094A99F1B78D8F000B1FBBF /* Frameworks */, F094A9A01B78D8F000B1FBBF /* Resources */, 44C35695CFA4F9799C449367 /* Copy Pods Resources */, + CE74DDBF8318D6A2441D715E /* Embed Pods Frameworks */, ); buildRules = ( ); @@ -620,7 +605,6 @@ F00B1BCA1B95CC68001806E3 /* camera_capture.png in Resources */, F094A9B41B78D8F000B1FBBF /* Main.storyboard in Resources */, F0316E471B7E4C9A00F03620 /* placeholder.png in Resources */, - F00B1BDA1B96EAF3001806E3 /* MediaAssetCollectionViewCell.xib in Resources */, F0DD7D601B7AA8C900C4BE02 /* hide.png in Resources */, F0DD7D741B7AA8C900C4BE02 /* typing.png in Resources */, F00B1BD31B95D478001806E3 /* camera_picture.png in Resources */, @@ -682,6 +666,21 @@ shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; showEnvVarsInLog = 0; }; + CE74DDBF8318D6A2441D715E /* Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Embed Pods Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Vector/Pods-Vector-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -697,7 +696,6 @@ F001D76C1B821E4F00A162C3 /* MediaPickerViewController.m in Sources */, F084DAAE1BB57BD100B4C530 /* AuthInputsEmailIdentityBasedView.m in Sources */, F001D75E1B8207C000A162C3 /* RoomIncomingBubbleTableViewCell.m in Sources */, - F00B1BD81B96E5DD001806E3 /* MediaAssetCollectionViewCell.m in Sources */, F094AA321B78E42600B1FBBF /* GlobalNotificationSettingsViewController.m in Sources */, F094A9A81B78D8F000B1FBBF /* main.m in Sources */, F0DD7D881B7B507100C4BE02 /* RoomCreationStep2ViewController.m in Sources */, diff --git a/Vector/ViewController/MediaPickerViewController.m b/Vector/ViewController/MediaPickerViewController.m index dbe0dd60c..7345e487b 100644 --- a/Vector/ViewController/MediaPickerViewController.m +++ b/Vector/ViewController/MediaPickerViewController.m @@ -16,8 +16,6 @@ #import "MediaPickerViewController.h" -#import "MediaAssetCollectionViewCell.h" - #import #import @@ -96,7 +94,7 @@ NSString* const recentItemCollectionViewCellId = @"recentItemCollectionViewCellI currentSelectedAsset = -1; // Register collection view cell class - [self.recentPicturesCollectionView registerClass:MediaAssetCollectionViewCell.class forCellWithReuseIdentifier:recentItemCollectionViewCellId]; + [self.recentPicturesCollectionView registerClass:MXKMediaCollectionViewCell.class forCellWithReuseIdentifier:recentItemCollectionViewCellId]; // Adjust layout according to screen size CGSize screenSize = [[UIScreen mainScreen] bounds].size; @@ -1126,7 +1124,7 @@ NSString* const recentItemCollectionViewCellId = @"recentItemCollectionViewCellI - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { - MediaAssetCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:recentItemCollectionViewCellId forIndexPath:indexPath]; + MXKMediaCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:recentItemCollectionViewCellId forIndexPath:indexPath]; if (indexPath.row < assetsFetchResult.count) { @@ -1140,12 +1138,17 @@ NSString* const recentItemCollectionViewCellId = @"recentItemCollectionViewCellI PHImageRequestOptions *option = [[PHImageRequestOptions alloc] init]; option.synchronous = YES; [[PHImageManager defaultManager] requestImageForAsset:asset targetSize:cellSize contentMode:PHImageContentModeAspectFit options:option resultHandler:^(UIImage *result, NSDictionary *info) { - cell.imageView.image = result; + cell.mxkImageView.image = result; }]; - cell.selectionImageView.hidden = ![selectedAssets[indexPath.row] boolValue]; + cell.bottomLeftIcon.image = [UIImage imageNamed:@"selection_tick"]; + cell.bottomLeftIcon.hidden = ![selectedAssets[indexPath.row] boolValue]; - cell.videoIconImageView.hidden = (asset.mediaType == PHAssetMediaTypeImage); + cell.topRightIcon.image = [UIImage imageNamed:@"icon_video"]; + cell.topRightIcon.hidden = (asset.mediaType == PHAssetMediaTypeImage); + + // Disable user interaction in mxkImageView, in order to let collection handle user selection + cell.mxkImageView.userInteractionEnabled = NO; } return cell; diff --git a/Vector/ViewController/MediaPickerViewController.xib b/Vector/ViewController/MediaPickerViewController.xib index 4534d8006..6321b8e65 100644 --- a/Vector/ViewController/MediaPickerViewController.xib +++ b/Vector/ViewController/MediaPickerViewController.xib @@ -1,8 +1,8 @@ - + - + @@ -112,7 +112,7 @@