From 8131c50f91f0cfab47f644664b481b5737a79fdf Mon Sep 17 00:00:00 2001 From: Alvise Susmel Date: Sun, 9 Jun 2013 13:39:03 +0200 Subject: [PATCH] added example in demo that handles keyboard showing --- FPPopoverController.h | 8 ++- FPPopoverController.m | 5 +- FPPopoverDemo.xcodeproj/project.pbxproj | 6 ++ .../UserInterfaceState.xcuserstate | Bin 72340 -> 71863 bytes FPPopoverDemo/FPDemoTableViewController.m | 1 + .../FPPopoverKeyboardResponsiveController.h | 13 ++++ .../FPPopoverKeyboardResponsiveController.m | 25 +++++++ FPPopoverDemo/FPViewController.h | 6 +- FPPopoverDemo/FPViewController.m | 36 +++++++++- .../en.lproj/FPViewController_iPhone.xib | 62 ++++++++++++++++-- 10 files changed, 150 insertions(+), 12 deletions(-) create mode 100644 FPPopoverDemo/FPPopoverKeyboardResponsiveController.h create mode 100644 FPPopoverDemo/FPPopoverKeyboardResponsiveController.m diff --git a/FPPopoverController.h b/FPPopoverController.h index 9eda7c1..f1a7b73 100644 --- a/FPPopoverController.h +++ b/FPPopoverController.h @@ -16,6 +16,7 @@ @class FPPopoverController; + @protocol FPPopoverControllerDelegate @optional @@ -25,7 +26,9 @@ @end @interface FPPopoverController : UIViewController - +{ + UIView *_parentView; +} //ARC-enable and disable support #if __has_feature(objc_arc) @property(nonatomic,assign) id delegate; @@ -74,7 +77,8 @@ typedef void (^FPPopoverCompletion)(); /** @brief Hide the shadows to get better performances **/ -(void)setShadowsHidden:(BOOL)hidden; - +/** @brief Refresh popover **/ +-(void)setupView; @end diff --git a/FPPopoverController.m b/FPPopoverController.m index 8a1fc9b..28406d4 100644 --- a/FPPopoverController.m +++ b/FPPopoverController.m @@ -16,7 +16,6 @@ @interface FPPopoverController() FPPopoverView *_contentView; UIViewController *_viewController; UIWindow *_window; - UIView *_parentView; UIView *_fromView; UIDeviceOrientation _deviceOrientation; @@ -64,6 +63,7 @@ -(void)addObservers selector:@selector(deviceOrientationDidChange:) name:@"UIDeviceOrientationDidChangeNotification" object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(willPresentNewPopover:) name:@"FPNewPopoverPresented" object:nil]; @@ -603,4 +603,7 @@ -(void)setAlpha:(CGFloat)alpha self.view.alpha = alpha; } + + + @end diff --git a/FPPopoverDemo.xcodeproj/project.pbxproj b/FPPopoverDemo.xcodeproj/project.pbxproj index 2ff8fea..2f2b7e0 100644 --- a/FPPopoverDemo.xcodeproj/project.pbxproj +++ b/FPPopoverDemo.xcodeproj/project.pbxproj @@ -25,6 +25,7 @@ 186C438D1538512200502D64 /* FPViewController_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 186C438B1538512200502D64 /* FPViewController_iPad.xib */; }; 186C439B153851F600502D64 /* Readme.md in Resources */ = {isa = PBXBuildFile; fileRef = 186C439A153851F600502D64 /* Readme.md */; }; 186C43A115386E2200502D64 /* DemoTableController.m in Sources */ = {isa = PBXBuildFile; fileRef = 186C43A015386E2200502D64 /* DemoTableController.m */; }; + 18C427041764920D001D4A24 /* FPPopoverKeyboardResponsiveController.m in Sources */ = {isa = PBXBuildFile; fileRef = 18C427031764920D001D4A24 /* FPPopoverKeyboardResponsiveController.m */; }; 18D8FA31155050F0005E2222 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 186C43751538512100502D64 /* Foundation.framework */; }; 18D8FA3B155050FE005E2222 /* FPPopoverController.m in Sources */ = {isa = PBXBuildFile; fileRef = 186C43951538513B00502D64 /* FPPopoverController.m */; }; 18D8FA3C155050FE005E2222 /* FPPopoverView.m in Sources */ = {isa = PBXBuildFile; fileRef = 186C43971538513B00502D64 /* FPPopoverView.m */; }; @@ -88,6 +89,8 @@ 186C43A015386E2200502D64 /* DemoTableController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DemoTableController.m; sourceTree = ""; }; 186C43AA153CAD1000502D64 /* FPTouchView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FPTouchView.h; sourceTree = ""; }; 186C43AB153CAD1000502D64 /* FPTouchView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FPTouchView.m; sourceTree = ""; }; + 18C427021764920D001D4A24 /* FPPopoverKeyboardResponsiveController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FPPopoverKeyboardResponsiveController.h; sourceTree = ""; }; + 18C427031764920D001D4A24 /* FPPopoverKeyboardResponsiveController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FPPopoverKeyboardResponsiveController.m; sourceTree = ""; }; 18D8FA30155050F0005E2222 /* libfppopover.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libfppopover.a; sourceTree = BUILT_PRODUCTS_DIR; }; 18D8FA34155050F0005E2222 /* fppopover-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "fppopover-Prefix.pch"; sourceTree = ""; }; 18D8FA44155051BA005E2222 /* background_iPad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = background_iPad.png; sourceTree = ""; }; @@ -208,6 +211,8 @@ 186C43861538512200502D64 /* FPViewController.m */, 18F357251584E6E700AD4F07 /* FPDemoTableViewController.h */, 18F357261584E6E700AD4F07 /* FPDemoTableViewController.m */, + 18C427021764920D001D4A24 /* FPPopoverKeyboardResponsiveController.h */, + 18C427031764920D001D4A24 /* FPPopoverKeyboardResponsiveController.m */, 186C43881538512200502D64 /* FPViewController_iPhone.xib */, 186C438B1538512200502D64 /* FPViewController_iPad.xib */, 186C437A1538512100502D64 /* Supporting Files */, @@ -441,6 +446,7 @@ 186C43871538512200502D64 /* FPViewController.m in Sources */, 186C43A115386E2200502D64 /* DemoTableController.m in Sources */, 18F357271584E6E700AD4F07 /* FPDemoTableViewController.m in Sources */, + 18C427041764920D001D4A24 /* FPPopoverKeyboardResponsiveController.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/FPPopoverDemo.xcodeproj/project.xcworkspace/xcuserdata/alvise.xcuserdatad/UserInterfaceState.xcuserstate b/FPPopoverDemo.xcodeproj/project.xcworkspace/xcuserdata/alvise.xcuserdatad/UserInterfaceState.xcuserstate index eee646c6a513cdaec3f69a5b7b881e28b5f0ca26..e273ef4a8302962379ddf9e1b73ff8ea544c9ad6 100644 GIT binary patch literal 71863 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 Dd8`-+ literal 72340 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 #import "FPPopoverController.h" #import "ARCMacros.h" + +#import "FPPopoverKeyboardResponsiveController.h" + @interface FPViewController : UIViewController { - FPPopoverController *popover; + FPPopoverKeyboardResponsiveController *popover; + CGFloat _keyboardHeight; } //ARC-enable and disable support #if __has_feature(objc_arc) diff --git a/FPPopoverDemo/FPViewController.m b/FPPopoverDemo/FPViewController.m index 00c0c5a..8bbad1a 100644 --- a/FPPopoverDemo/FPViewController.m +++ b/FPPopoverDemo/FPViewController.m @@ -11,6 +11,8 @@ #import "FPPopoverController.h" #import "FPDemoTableViewController.h" + + @interface FPViewController () @end @@ -24,7 +26,18 @@ - (void)viewDidLoad [super viewDidLoad]; [self.navigationController setNavigationBarHidden:YES]; + //KEYBOARD OBSERVERS + /************************/ + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(keyboardWillShow:) + name:UIKeyboardWillShowNotification + object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(keyboardWillHide:) + name:UIKeyboardWillHideNotification + object:nil]; + /************************/ } - (void)viewDidUnload @@ -59,9 +72,9 @@ -(IBAction)popover:(id)sender //the controller we want to present as a popover DemoTableController *controller = [[DemoTableController alloc] initWithStyle:UITableViewStylePlain]; controller.delegate = self; - popover = [[FPPopoverController alloc] initWithViewController:controller]; + popover = [[FPPopoverKeyboardResponsiveController alloc] initWithViewController:controller]; popover.tint = FPPopoverDefaultTint; - + popover.keyboardHeight = _keyboardHeight; if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { @@ -163,7 +176,7 @@ -(IBAction)navControllerPopover:(id)sender UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:controller]; SAFE_ARC_RELEASE(controller); controller=nil; - popover = [[FPPopoverController alloc] initWithViewController:nc]; + popover = [[FPPopoverKeyboardResponsiveController alloc] initWithViewController:nc]; popover.tint = FPPopoverDefaultTint; popover.contentSize = CGSizeMake(300, 500); [popover presentPopoverFromView:sender]; @@ -187,4 +200,21 @@ -(void)selectedTableRow:(NSUInteger)rowNum } +-(void)keyboardWillShow:(NSNotification*)notification { + NSDictionary *info = notification.userInfo; + CGRect keyboardRect = [[info valueForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue]; + _keyboardHeight = keyboardRect.size.height; + + //if the popover is present will be refreshed + popover.keyboardHeight = _keyboardHeight; + [popover setupView]; +} + +-(void)keyboardWillHide:(NSNotification*)notification { + _keyboardHeight = 0.0; + + //if the popover is present will be refreshed + popover.keyboardHeight = _keyboardHeight; + [popover setupView]; +} @end diff --git a/FPPopoverDemo/en.lproj/FPViewController_iPhone.xib b/FPPopoverDemo/en.lproj/FPViewController_iPhone.xib index c08214a..d6198de 100644 --- a/FPPopoverDemo/en.lproj/FPViewController_iPhone.xib +++ b/FPPopoverDemo/en.lproj/FPViewController_iPhone.xib @@ -2,10 +2,10 @@ 1552 - 12C3012 + 12D78 3084 - 1187.34 - 625.00 + 1187.37 + 626.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin 2083 @@ -14,6 +14,7 @@ IBProxyObject IBUIButton IBUIImageView + IBUITextField IBUIView @@ -116,7 +117,7 @@ {{225, 20}, {75, 31}} - + _NS:9 NO IBCocoaTouchFramework @@ -254,6 +255,7 @@ {{217, 409}, {92, 31}} + _NS:9 NO IBCocoaTouchFramework @@ -392,6 +394,44 @@ + + + 288 + {{50, 66}, {221, 30}} + + + + _NS:9 + NO + YES + IBCocoaTouchFramework + 0 + + 3 + Try popover with keyboard + + 3 + MAA + + 2 + + + 1 + YES + 17 + + IBCocoaTouchFramework + + + 1 + 14 + + + Helvetica + 14 + 16 + + {{0, 20}, {320, 460}} @@ -597,6 +637,7 @@ + @@ -675,6 +716,11 @@ + + 48 + + + @@ -697,13 +743,14 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 47 + 48 @@ -719,6 +766,7 @@ id id id + id id id id @@ -759,6 +807,10 @@ midRight: id + + navControllerPopover: + id + noArrow: id