diff --git a/Students/Charlotte/ObjcTextInput/ObjcTextInput.xcodeproj/project.pbxproj b/Students/Charlotte/ObjcTextInput/ObjcTextInput.xcodeproj/project.pbxproj
index 753ad22..f7e4bab 100644
--- a/Students/Charlotte/ObjcTextInput/ObjcTextInput.xcodeproj/project.pbxproj
+++ b/Students/Charlotte/ObjcTextInput/ObjcTextInput.xcodeproj/project.pbxproj
@@ -329,9 +329,11 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Automatic;
+ DEVELOPMENT_TEAM = 2FQ38K642M;
INFOPLIST_FILE = ObjcTextInput/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_BUNDLE_IDENTIFIER = com.icapps.ObjcTextInput;
+ PRODUCT_BUNDLE_IDENTIFIER = com.charlotteerpels.ObjcTextInput;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "ObjcTextInput/ObjcTextInput-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -346,9 +348,11 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Automatic;
+ DEVELOPMENT_TEAM = 2FQ38K642M;
INFOPLIST_FILE = ObjcTextInput/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_BUNDLE_IDENTIFIER = com.icapps.ObjcTextInput;
+ PRODUCT_BUNDLE_IDENTIFIER = com.charlotteerpels.ObjcTextInput;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "ObjcTextInput/ObjcTextInput-Bridging-Header.h";
SWIFT_VERSION = 4.0;
diff --git a/Students/Charlotte/ObjcTextInput/ObjcTextInput/Base.lproj/Main.storyboard b/Students/Charlotte/ObjcTextInput/ObjcTextInput/Base.lproj/Main.storyboard
index 524c98e..ffc8a66 100644
--- a/Students/Charlotte/ObjcTextInput/ObjcTextInput/Base.lproj/Main.storyboard
+++ b/Students/Charlotte/ObjcTextInput/ObjcTextInput/Base.lproj/Main.storyboard
@@ -4,7 +4,6 @@
-
@@ -108,7 +107,7 @@
-
+
diff --git a/Students/Charlotte/ObjcTextInput/ObjcTextInput/Names List/TIIUIViewController.m b/Students/Charlotte/ObjcTextInput/ObjcTextInput/Names List/TIIUIViewController.m
index c069bf0..bab118b 100644
--- a/Students/Charlotte/ObjcTextInput/ObjcTextInput/Names List/TIIUIViewController.m
+++ b/Students/Charlotte/ObjcTextInput/ObjcTextInput/Names List/TIIUIViewController.m
@@ -12,11 +12,12 @@
#import "TIIViewModel.h"
#import
-@interface TIIUIViewController ()
+@interface TIIUIViewController ()
@property (nonatomic, weak) IBOutlet UICollectionView * collectionView;
@property (nonatomic, strong) TIIViewModel * viewModel;
@property (assign, nonatomic) BOOL isEditing;
@property (nonatomic, strong) UILongPressGestureRecognizer * longPressGesture;
+@property (nonatomic, strong) id previewingContext;
@end
@implementation TIIUIViewController
@@ -36,6 +37,10 @@ - (void)viewDidLoad {
[self.collectionView addGestureRecognizer:self.longPressGesture];
[self.collectionView reloadData];
+
+ if([self isForceTouchAvailable]) {
+ self.previewingContext = [self registerForPreviewingWithDelegate:self sourceView:self.view];
+ }
}
#pragma mark - UILongPressGesture
@@ -195,6 +200,43 @@ -(void)collectionView:(UICollectionView *)collectionView performDropWithCoordina
}
}
+#pragma mark - UIViewControllerPreviewingDelegate
+
+-(BOOL)isForceTouchAvailable {
+ BOOL isForceTouchAvailable = NO;
+
+ if([self.traitCollection respondsToSelector:@selector(forceTouchCapability)]) {
+ isForceTouchAvailable = self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable;
+ }
+
+ return isForceTouchAvailable;
+}
+
+-(UIViewController *)previewingContext:(id)previewingContext viewControllerForLocation:(CGPoint)location {
+ CGPoint cellPosition = [self.collectionView convertPoint:location fromView:self.view];
+ NSIndexPath * indexPath = [self.collectionView indexPathForItemAtPoint:cellPosition];
+
+ if(indexPath) {
+ TIILabelCollectionViewCell * cell = [self.collectionView cellForItemAtIndexPath:indexPath];
+ UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
+ TIIChangeTextViewController * previewController = [storyboard instantiateViewControllerWithIdentifier:@"TIIChangeTextViewController"];
+
+ previewController.originalText = [self.viewModel objectForIndexPath:indexPath];
+ previewController.itemIndex = indexPath;
+
+ previewingContext.sourceRect = [self.view convertRect:cell.frame fromView:self.collectionView];
+
+ return previewController;
+ }
+
+ return nil;
+}
+
+-(void)previewingContext:(id)previewingContext commitViewController:(UIViewController *)viewControllerToCommit {
+ TIIChangeTextViewController * changeTextViewController = viewControllerToCommit;
+ changeTextViewController.delegate = self;
+ [self presentViewController:changeTextViewController animated:YES completion:nil];
+}
@end