Browse files

Added iOS 7 images, fixed rounding bugs and made delegate methods opt…

…ional
  • Loading branch information...
1 parent 7c80a2d commit 467bdd6205958ec8edcd5f787f632b495c46aebd @werner77 committed Feb 26, 2014
View
2 Classes/Popover/UIBarButtonItem+WEPopover.m
@@ -14,7 +14,7 @@ @implementation UIBarButtonItem(WEPopover)
- (CGRect)frameInView:(UIView *)v {
UIView *theView = self.customView;
- if (!theView && [self respondsToSelector:@selector(view)]) {
+ if (!theView.superview && [self respondsToSelector:@selector(view)]) {
theView = [self performSelector:@selector(view)];
}
View
43 Classes/Popover/WEPopoverContainerView.h
@@ -10,23 +10,9 @@
#import <UIKit/UIKit.h>
/**
- * @brief Properties for the container view determining the area where the actual content view can/may be displayed. Also Images can be supplied for the arrow images and background.
+ * Properties for the container view determining the area where the actual content view can/may be displayed. Also Images can be supplied for the arrow images and background.
*/
@interface WEPopoverContainerViewProperties : NSObject
-{
- NSString *bgImageName;
- NSString *upArrowImageName;
- NSString *downArrowImageName;
- NSString *leftArrowImageName;
- NSString *rightArrowImageName;
- CGFloat leftBgMargin;
- CGFloat rightBgMargin;
- CGFloat topBgMargin;
- CGFloat bottomBgMargin;
- NSInteger topBgCapSize;
- NSInteger leftBgCapSize;
- CGFloat arrowMargin;
-}
@property(nonatomic, retain) NSString *bgImageName;
@property(nonatomic, retain) NSString *upArrowImageName;
@@ -50,37 +36,22 @@
@class WEPopoverContainerView;
/**
- * @brief Container/background view for displaying a popover view.
+ * Container/background view for displaying a popover view.
*/
-@interface WEPopoverContainerView : UIView {
- UIImage *bgImage;
- UIImage *arrowImage;
-
- WEPopoverContainerViewProperties *properties;
-
- UIPopoverArrowDirection arrowDirection;
-
- CGRect arrowRect;
- CGRect bgRect;
- CGPoint offset;
- CGPoint arrowOffset;
-
- CGSize correctedSize;
- UIView *contentView;
-}
+@interface WEPopoverContainerView : UIView
/**
- * @brief The current arrow direction for the popover.
+ * The current arrow direction for the popover.
*/
@property (nonatomic, readonly) UIPopoverArrowDirection arrowDirection;
/**
- * @brief The content view being displayed.
+ * The content view being displayed.
*/
@property (nonatomic, retain) UIView *contentView;
/**
- * @brief Initializes the position of the popover with a size, anchor rect, display area and permitted arrow directions and optionally the properties.
+ * Initializes the position of the popover with a size, anchor rect, display area and permitted arrow directions and optionally the properties.
* If the last is not supplied the defaults are taken (requires images to be present in bundle representing a black rounded background with partial transparency).
*/
- (id)initWithSize:(CGSize)theSize
@@ -90,7 +61,7 @@ permittedArrowDirections:(UIPopoverArrowDirection)permittedArrowDirections
properties:(WEPopoverContainerViewProperties *)properties;
/**
- * @brief To update the position of the popover with a new anchor rect, display area and permitted arrow directions
+ * To update the position of the popover with a new anchor rect, display area and permitted arrow directions
*/
- (void)updatePositionWithSize:(CGSize)theSize
anchorRect:(CGRect)anchorRect
View
43 Classes/Popover/WEPopoverContainerView.m
@@ -8,7 +8,20 @@
#import "WEPopoverContainerView.h"
-@implementation WEPopoverContainerViewProperties
+@implementation WEPopoverContainerViewProperties {
+ NSString *bgImageName;
+ NSString *upArrowImageName;
+ NSString *downArrowImageName;
+ NSString *leftArrowImageName;
+ NSString *rightArrowImageName;
+ CGFloat leftBgMargin;
+ CGFloat rightBgMargin;
+ CGFloat topBgMargin;
+ CGFloat bottomBgMargin;
+ NSInteger topBgCapSize;
+ NSInteger leftBgCapSize;
+ CGFloat arrowMargin;
+}
@synthesize bgImageName, upArrowImageName, downArrowImageName, leftArrowImageName, rightArrowImageName, topBgMargin, bottomBgMargin, leftBgMargin, rightBgMargin, topBgCapSize, leftBgCapSize;
@synthesize leftContentMargin, rightContentMargin, topContentMargin, bottomContentMargin, arrowMargin;
@@ -34,7 +47,22 @@ - (void)initFrame;
@end
-@implementation WEPopoverContainerView
+@implementation WEPopoverContainerView {
+ UIImage *bgImage;
+ UIImage *arrowImage;
+
+ WEPopoverContainerViewProperties *properties;
+
+ UIPopoverArrowDirection arrowDirection;
+
+ CGRect arrowRect;
+ CGRect bgRect;
+ CGPoint offset;
+ CGPoint arrowOffset;
+
+ CGSize correctedSize;
+ UIView *contentView;
+}
@synthesize arrowDirection, contentView;
@@ -151,6 +179,10 @@ - (void)setProperties:(WEPopoverContainerViewProperties *)props {
}
}
+- (CGRect)roundedRect:(CGRect)rect {
+ return CGRectMake(roundf(rect.origin.x), roundf(rect.origin.y), roundf(rect.size.width), roundf(rect.size.height));
+}
+
- (void)determineGeometryForSize:(CGSize)theSize anchorRect:(CGRect)anchorRect displayArea:(CGRect)displayArea permittedArrowDirections:(UIPopoverArrowDirection)supportedArrowDirections {
//Determine the frame, it should not go outside the display area
@@ -324,7 +356,6 @@ - (void)determineGeometryForSize:(CGSize)theSize anchorRect:(CGRect)anchorRect d
theArrowRect.origin.y = CGRectGetMinY(theBgRect) - upArrowImage.size.height + properties.topBgMargin;
}
}
- bgFrame = CGRectOffset(theBgRect, theOffset.x, theOffset.y);
CGFloat minMargin = MIN(minMarginLeft, minMarginRight);
minMargin = MIN(minMargin, minMarginTop);
@@ -335,9 +366,9 @@ - (void)determineGeometryForSize:(CGSize)theSize anchorRect:(CGRect)anchorRect d
if (surface >= biggestSurface && minMargin >= currentMinMargin) {
biggestSurface = surface;
- offset = CGPointMake(theOffset.x + displayArea.origin.x, theOffset.y + displayArea.origin.y);
- arrowRect = theArrowRect;
- bgRect = theBgRect;
+ offset = CGPointMake(roundf(theOffset.x + displayArea.origin.x), roundf(theOffset.y + displayArea.origin.y));
+ arrowRect = [self roundedRect:theArrowRect];
+ bgRect = [self roundedRect:theBgRect];
arrowDirection = theArrowDirection;
currentMinMargin = minMargin;
}
View
24 Classes/Popover/WEPopoverController.h
@@ -15,31 +15,22 @@
@protocol WEPopoverControllerDelegate<NSObject>
+@optional
- (void)popoverControllerDidDismissPopover:(WEPopoverController *)popoverController;
- (BOOL)popoverControllerShouldDismissPopover:(WEPopoverController *)popoverController;
@end
/**
- * @brief Popover controller for the iPhone, mimicing the iPad UIPopoverController interface. See that class for more details.
+ * Popover controller for the iPhone, mimicing the iPad UIPopoverController interface. See that class for more details.
*/
-@interface WEPopoverController : NSObject<WETouchableViewDelegate> {
- UIViewController *contentViewController;
- UIView *view;
- UIView *parentView;
- WETouchableView *backgroundView;
-
- BOOL popoverVisible;
- UIPopoverArrowDirection popoverArrowDirection;
- id <WEPopoverControllerDelegate> delegate;
- CGSize popoverContentSize;
- WEPopoverContainerViewProperties *containerViewProperties;
- id <NSObject> context;
- NSArray *passthroughViews;
-}
+@interface WEPopoverController : NSObject
@property(nonatomic, retain) UIViewController *contentViewController;
+@property(nonatomic, assign, readonly) UIView *presentedFromView;
+@property(nonatomic, assign, readonly) CGRect presentedFromRect;
+
@property (nonatomic, readonly) UIView *view;
@property (nonatomic, readonly, getter=isPopoverVisible) BOOL popoverVisible;
@property (nonatomic, readonly) UIPopoverArrowDirection popoverArrowDirection;
@@ -50,6 +41,9 @@
@property (nonatomic, assign) UIView *parentView;
@property (nonatomic, copy) NSArray *passthroughViews;
++ (WEPopoverContainerViewProperties *)defaultContainerViewProperties;
++ (void)setDefaultContainerViewProperties:(WEPopoverContainerViewProperties *)properties;
+
- (id)initWithContentViewController:(UIViewController *)theContentViewController;
- (void)dismissPopoverAnimated:(BOOL)animated;
View
171 Classes/Popover/WEPopoverController.m
@@ -12,19 +12,36 @@
#define FADE_DURATION 0.3
+@interface WEPopoverController()<WETouchableViewDelegate>
+
+@end
+
@interface WEPopoverController(Private)
- (UIView *)keyView;
- (void)updateBackgroundPassthroughViews;
- (void)setView:(UIView *)v;
- (CGRect)displayAreaForView:(UIView *)theView;
-- (WEPopoverContainerViewProperties *)defaultContainerViewProperties;
- (void)dismissPopoverAnimated:(BOOL)animated userInitiated:(BOOL)userInitiated;
+- (void)determineContentSize;
@end
-@implementation WEPopoverController
+@implementation WEPopoverController {
+ UIViewController *contentViewController;
+ UIView *view;
+ UIView *parentView;
+ WETouchableView *backgroundView;
+
+ BOOL popoverVisible;
+ UIPopoverArrowDirection popoverArrowDirection;
+ id <WEPopoverControllerDelegate> delegate;
+ CGSize popoverContentSize;
+ WEPopoverContainerViewProperties *containerViewProperties;
+ id <NSObject> context;
+ NSArray *passthroughViews;
+}
@synthesize contentViewController;
@synthesize popoverContentSize;
@@ -37,6 +54,82 @@ @implementation WEPopoverController
@synthesize context;
@synthesize passthroughViews;
+static WEPopoverContainerViewProperties *defaultProperties = nil;
+
+static BOOL OSVersionIsAtLeast(float version) {
+ return version <= ([[[UIDevice currentDevice] systemVersion] floatValue] + 0.0001);
+}
+
++ (void)setDefaultContainerViewProperties:(WEPopoverContainerViewProperties *)properties {
+ if (properties != defaultProperties) {
+ [defaultProperties release];
+ defaultProperties = [properties retain];
+ }
+}
+
+//Enable to use the simple popover style
++ (WEPopoverContainerViewProperties *)defaultContainerViewProperties {
+
+ if (defaultProperties) {
+ return defaultProperties;
+ } else {
+ WEPopoverContainerViewProperties *props = [[WEPopoverContainerViewProperties alloc] autorelease];
+
+ NSString *bgImageName = nil;
+ CGFloat bgMargin = 0.0;
+ CGFloat bgCapSize = 0.0;
+ CGFloat contentMargin = 0.0;
+
+ if (OSVersionIsAtLeast(7.0)) {
+
+ bgImageName = @"popoverBg-white.png";
+
+ contentMargin = 4.0;
+
+ bgMargin = 12;
+ bgCapSize = 31;
+
+ props.arrowMargin = 4.0;
+
+ props.upArrowImageName = @"popoverArrowUp-white.png";
+ props.downArrowImageName = @"popoverArrowDown-white.png";
+ props.leftArrowImageName = @"popoverArrowLeft-white.png";
+ props.rightArrowImageName = @"popoverArrowRight-white.png";
+
+ } else {
+ bgImageName = @"popoverBg.png";
+
+ // These constants are determined by the popoverBg.png image file and are image dependent
+ bgMargin = 13; // margin width of 13 pixels on all sides popoverBg.png (62 pixels wide - 36 pixel background) / 2 == 26 / 2 == 13
+ bgCapSize = 31; // ImageSize/2 == 62 / 2 == 31 pixels
+
+ contentMargin = 4.0;
+
+ props.arrowMargin = 4.0;
+
+ props.upArrowImageName = @"popoverArrowUp.png";
+ props.downArrowImageName = @"popoverArrowDown.png";
+ props.leftArrowImageName = @"popoverArrowLeft.png";
+ props.rightArrowImageName = @"popoverArrowRight.png";
+ }
+
+ props.leftBgMargin = bgMargin;
+ props.rightBgMargin = bgMargin;
+ props.topBgMargin = bgMargin;
+ props.bottomBgMargin = bgMargin;
+ props.leftBgCapSize = bgCapSize;
+ props.topBgCapSize = bgCapSize;
+ props.bgImageName = bgImageName;
+ props.leftContentMargin = contentMargin;
+ props.rightContentMargin = contentMargin - 1; // Need to shift one pixel for border to look correct
+ props.topContentMargin = contentMargin;
+ props.bottomContentMargin = contentMargin;
+
+ return props;
+ }
+}
+
+
- (id)init {
if ((self = [super init])) {
}
@@ -106,7 +199,9 @@ - (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished c
if (userInitiatedDismissal) {
//Only send message to delegate in case the user initiated this event, which is if he touched outside the view
- [delegate popoverControllerDidDismissPopover:self];
+ if ([delegate respondsToSelector:@selector(popoverControllerDidDismissPopover:)]) {
+ [delegate popoverControllerDidDismissPopover:self];
+ }
}
}
}
@@ -133,17 +228,18 @@ - (void)presentPopoverFromRect:(CGRect)rect
[self dismissPopoverAnimated:NO];
+
+ _presentedFromRect = rect;
+ _presentedFromView = theView;
//First force a load view for the contentViewController so the popoverContentSize is properly initialized
[contentViewController view];
- if (CGSizeEqualToSize(popoverContentSize, CGSizeZero)) {
- popoverContentSize = contentViewController.contentSizeForViewInPopover;
- }
+ [self determineContentSize];
CGRect displayArea = [self displayAreaForView:theView];
- WEPopoverContainerViewProperties *props = self.containerViewProperties ? self.containerViewProperties : [self defaultContainerViewProperties];
+ WEPopoverContainerViewProperties *props = self.containerViewProperties ? self.containerViewProperties : [[self class] defaultContainerViewProperties];
WEPopoverContainerView *containerView = [[[WEPopoverContainerView alloc] initWithSize:self.popoverContentSize anchorRect:rect displayArea:displayArea permittedArrowDirections:arrowDirections properties:props] autorelease];
popoverArrowDirection = containerView.arrowDirection;
@@ -183,7 +279,7 @@ - (void)presentPopoverFromRect:(CGRect)rect
[UIView animateWithDuration:FADE_DURATION
delay:0.0
- options:UIViewAnimationCurveLinear
+ options:UIViewAnimationOptionCurveLinear
animations:^{
self.view.alpha = 1.0;
@@ -222,11 +318,9 @@ - (void)repositionPopoverFromRect:(CGRect)rect
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
}
- if (CGSizeEqualToSize(popoverContentSize, CGSizeZero)) {
- popoverContentSize = contentViewController.contentSizeForViewInPopover;
- }
-
- CGRect displayArea = [self displayAreaForView:theView];
+ [self determineContentSize];
+
+ CGRect displayArea = [self displayAreaForView:theView];
WEPopoverContainerView *containerView = (WEPopoverContainerView *)self.view;
[containerView updatePositionWithSize:self.popoverContentSize
anchorRect:rect
@@ -246,7 +340,7 @@ - (void)repositionPopoverFromRect:(CGRect)rect
- (void)viewWasTouched:(WETouchableView *)view {
if (popoverVisible) {
- if (!delegate || [delegate popoverControllerShouldDismissPopover:self]) {
+ if (!delegate || ![delegate respondsToSelector:@selector(popoverControllerShouldDismissPopover:)] || [delegate popoverControllerShouldDismissPopover:self]) {
[self dismissPopoverAnimated:YES userInitiated:YES];
}
}
@@ -296,6 +390,15 @@ - (void)updateBackgroundPassthroughViews {
backgroundView.passthroughViews = passthroughViews;
}
+- (void)determineContentSize {
+ if (CGSizeEqualToSize(popoverContentSize, CGSizeZero)) {
+ if ([contentViewController respondsToSelector:@selector(preferredContentSize)]) {
+ popoverContentSize = contentViewController.preferredContentSize;
+ } else {
+ popoverContentSize = contentViewController.contentSizeForViewInPopover;
+ }
+ }
+}
- (void)dismissPopoverAnimated:(BOOL)animated userInitiated:(BOOL)userInitiated {
if (self.view) {
@@ -309,7 +412,7 @@ - (void)dismissPopoverAnimated:(BOOL)animated userInitiated:(BOOL)userInitiated
[UIView animateWithDuration:FADE_DURATION
delay:0.0
- options:UIViewAnimationCurveLinear
+ options:UIViewAnimationOptionCurveLinear
animations:^{
self.view.alpha = 0.0;
@@ -340,37 +443,17 @@ - (CGRect)displayAreaForView:(UIView *)theView {
} else {
UIView *keyView = [self keyView];
displayArea = [keyView convertRect:keyView.bounds toView:theView];
+ //Subtract margin for status bar that may be in view
+ UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
+
+ float margin = 10.0f;
+ if (UIInterfaceOrientationIsLandscape(orientation)) {
+ displayArea = CGRectMake(displayArea.origin.x + margin, displayArea.origin.y, displayArea.size.width - 2 * margin, displayArea.size.height);
+ } else {
+ displayArea = CGRectMake(displayArea.origin.x, displayArea.origin.y + margin, displayArea.size.width, displayArea.size.height - 2 * margin);
+ }
}
return displayArea;
}
-//Enable to use the simple popover style
-- (WEPopoverContainerViewProperties *)defaultContainerViewProperties {
- WEPopoverContainerViewProperties *ret = [[WEPopoverContainerViewProperties new] autorelease];
-
- CGSize imageSize = CGSizeMake(30.0f, 30.0f);
- NSString *bgImageName = @"popoverBgSimple.png";
- CGFloat bgMargin = 6.0;
- CGFloat contentMargin = 2.0;
-
- ret.leftBgMargin = bgMargin;
- ret.rightBgMargin = bgMargin;
- ret.topBgMargin = bgMargin;
- ret.bottomBgMargin = bgMargin;
- ret.leftBgCapSize = imageSize.width/2;
- ret.topBgCapSize = imageSize.height/2;
- ret.bgImageName = bgImageName;
- ret.leftContentMargin = contentMargin;
- ret.rightContentMargin = contentMargin;
- ret.topContentMargin = contentMargin;
- ret.bottomContentMargin = contentMargin;
- ret.arrowMargin = 1.0;
-
- ret.upArrowImageName = @"popoverArrowUpSimple.png";
- ret.downArrowImageName = @"popoverArrowDownSimple.png";
- ret.leftArrowImageName = @"popoverArrowLeftSimple.png";
- ret.rightArrowImageName = @"popoverArrowRightSimple.png";
- return ret;
-}
-
@end
View
11 Classes/Popover/WETouchableView.h
@@ -12,7 +12,7 @@
@class WETouchableView;
/**
- * @brief delegate to receive touch events
+ * delegate to receive touch events
*/
@protocol WETouchableViewDelegate<NSObject>
@@ -21,14 +21,9 @@
@end
/**
- * @brief View that can handle touch events and/or disable touch forwording to child views
+ * View that can handle touch events and/or disable touch forwording to child views
*/
-@interface WETouchableView : UIView {
- BOOL touchForwardingDisabled;
- id <WETouchableViewDelegate> delegate;
- NSArray *passthroughViews;
- BOOL testHits;
-}
+@interface WETouchableView : UIView
@property (nonatomic, assign) BOOL touchForwardingDisabled;
@property (nonatomic, assign) id <WETouchableViewDelegate> delegate;
View
7 Classes/Popover/WETouchableView.m
@@ -14,7 +14,12 @@ - (BOOL)isPassthroughView:(UIView *)v;
@end
-@implementation WETouchableView
+@implementation WETouchableView {
+ BOOL touchForwardingDisabled;
+ id <WETouchableViewDelegate> delegate;
+ NSArray *passthroughViews;
+ BOOL testHits;
+}
@synthesize touchForwardingDisabled, delegate, passthroughViews;
View
7 Classes/WEPopoverContentViewController.m
@@ -18,7 +18,12 @@ @implementation WEPopoverContentViewController
- (id)initWithStyle:(UITableViewStyle)style {
// Override initWithStyle: if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
if ((self = [super initWithStyle:style])) {
- self.contentSizeForViewInPopover = CGSizeMake(100, 1 * 44 - 1);
+
+ if ([self respondsToSelector:@selector(setPreferredContentSize:)]) {
+ self.preferredContentSize = CGSizeMake(100, 1 * 44 - 1);
+ } else {
+ self.contentSizeForViewInPopover = CGSizeMake(100, 1 * 44 - 1);
+ }
}
return self;
}
View
BIN Resources/Popover/popoverBg-white@2x.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
36 WEPopover.xcodeproj/project.pbxproj
@@ -30,6 +30,11 @@
7407D7DE13A67ABD0074B83C /* popoverArrowLeft.png in Resources */ = {isa = PBXBuildFile; fileRef = 7407D7D413A67ABD0074B83C /* popoverArrowLeft.png */; };
7407D7DF13A67ABD0074B83C /* popoverArrowDown@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7407D7D513A67ABD0074B83C /* popoverArrowDown@2x.png */; };
7407D7E013A67ABD0074B83C /* popoverArrowDown.png in Resources */ = {isa = PBXBuildFile; fileRef = 7407D7D613A67ABD0074B83C /* popoverArrowDown.png */; };
+ 74295FB618BE40C1008612BA /* popoverArrowDown-white@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 74295FAE18BE40C1008612BA /* popoverArrowDown-white@2x.png */; };
+ 74295FB818BE40C1008612BA /* popoverArrowLeft-white@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 74295FB018BE40C1008612BA /* popoverArrowLeft-white@2x.png */; };
+ 74295FBA18BE40C1008612BA /* popoverArrowRight-white@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 74295FB218BE40C1008612BA /* popoverArrowRight-white@2x.png */; };
+ 74295FBC18BE40C1008612BA /* popoverArrowUp-white@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 74295FB418BE40C1008612BA /* popoverArrowUp-white@2x.png */; };
+ 74295FBE18BE47A4008612BA /* popoverBg-white@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 74295FBD18BE47A4008612BA /* popoverBg-white@2x.png */; };
7463500113729C6F000EF936 /* WETouchableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7463500013729C6F000EF936 /* WETouchableView.m */; };
746B0A1D137454A000C5A8B5 /* UIBarButtonItem+WEPopover.m in Sources */ = {isa = PBXBuildFile; fileRef = 746B0A1C137454A000C5A8B5 /* UIBarButtonItem+WEPopover.m */; };
7496C86112D363AC00F93229 /* WEPopoverTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7496C86012D363AC00F93229 /* WEPopoverTableViewController.m */; };
@@ -66,6 +71,11 @@
7407D7D413A67ABD0074B83C /* popoverArrowLeft.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = popoverArrowLeft.png; sourceTree = "<group>"; };
7407D7D513A67ABD0074B83C /* popoverArrowDown@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "popoverArrowDown@2x.png"; sourceTree = "<group>"; };
7407D7D613A67ABD0074B83C /* popoverArrowDown.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = popoverArrowDown.png; sourceTree = "<group>"; };
+ 74295FAE18BE40C1008612BA /* popoverArrowDown-white@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "popoverArrowDown-white@2x.png"; sourceTree = "<group>"; };
+ 74295FB018BE40C1008612BA /* popoverArrowLeft-white@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "popoverArrowLeft-white@2x.png"; sourceTree = "<group>"; };
+ 74295FB218BE40C1008612BA /* popoverArrowRight-white@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "popoverArrowRight-white@2x.png"; sourceTree = "<group>"; };
+ 74295FB418BE40C1008612BA /* popoverArrowUp-white@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "popoverArrowUp-white@2x.png"; sourceTree = "<group>"; };
+ 74295FBD18BE47A4008612BA /* popoverBg-white@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "popoverBg-white@2x.png"; sourceTree = "<group>"; };
74634FFF13729C6F000EF936 /* WETouchableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WETouchableView.h; sourceTree = "<group>"; };
7463500013729C6F000EF936 /* WETouchableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WETouchableView.m; sourceTree = "<group>"; };
746B0A1B137454A000C5A8B5 /* UIBarButtonItem+WEPopover.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIBarButtonItem+WEPopover.h"; sourceTree = "<group>"; };
@@ -128,6 +138,7 @@
29B97317FDCFA39411CA2CEA /* Resources */,
29B97323FDCFA39411CA2CEA /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */,
+ 8D1107310486CEB800E47090 /* WEPopover-Info.plist */,
);
name = CustomTemplate;
sourceTree = "<group>";
@@ -147,9 +158,8 @@
749FAE721286123F00AB97F9 /* Popover */,
2899E5210DE3E06400AC0155 /* WEPopoverViewController.xib */,
28AD733E0D9D9553002E5188 /* MainWindow.xib */,
- 8D1107310486CEB800E47090 /* WEPopover-Info.plist */,
);
- name = Resources;
+ path = Resources;
sourceTree = "<group>";
};
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
@@ -191,6 +201,18 @@
name = Improved;
sourceTree = "<group>";
};
+ 74295FAC18BE401A008612BA /* iOS7 */ = {
+ isa = PBXGroup;
+ children = (
+ 74295FBD18BE47A4008612BA /* popoverBg-white@2x.png */,
+ 74295FAE18BE40C1008612BA /* popoverArrowDown-white@2x.png */,
+ 74295FB018BE40C1008612BA /* popoverArrowLeft-white@2x.png */,
+ 74295FB218BE40C1008612BA /* popoverArrowRight-white@2x.png */,
+ 74295FB418BE40C1008612BA /* popoverArrowUp-white@2x.png */,
+ );
+ name = iOS7;
+ sourceTree = "<group>";
+ };
749FAE6F1286123500AB97F9 /* Popover */ = {
isa = PBXGroup;
children = (
@@ -210,10 +232,11 @@
749FAE721286123F00AB97F9 /* Popover */ = {
isa = PBXGroup;
children = (
+ 74295FAC18BE401A008612BA /* iOS7 */,
7407D7C213A67A7A0074B83C /* Improved */,
7407D7C113A67A720074B83C /* Simple */,
);
- name = Popover;
+ path = Popover;
sourceTree = "<group>";
};
/* End PBXGroup section */
@@ -271,18 +294,23 @@
28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */,
2899E5220DE3E06400AC0155 /* WEPopoverViewController.xib in Resources */,
7407D7C813A67A930074B83C /* popoverBgSimple.png in Resources */,
+ 74295FB818BE40C1008612BA /* popoverArrowLeft-white@2x.png in Resources */,
+ 74295FB618BE40C1008612BA /* popoverArrowDown-white@2x.png in Resources */,
7407D7C913A67A930074B83C /* popoverArrowUpSimple.png in Resources */,
7407D7CA13A67A930074B83C /* popoverArrowRightSimple.png in Resources */,
7407D7CB13A67A930074B83C /* popoverArrowLeftSimple.png in Resources */,
7407D7CC13A67A930074B83C /* popoverArrowDownSimple.png in Resources */,
7407D7D713A67ABD0074B83C /* popoverBg@2x.png in Resources */,
7407D7D813A67ABD0074B83C /* popoverBg.png in Resources */,
7407D7D913A67ABD0074B83C /* popoverArrowUp@2x.png in Resources */,
+ 74295FBA18BE40C1008612BA /* popoverArrowRight-white@2x.png in Resources */,
7407D7DA13A67ABD0074B83C /* popoverArrowUp.png in Resources */,
+ 74295FBC18BE40C1008612BA /* popoverArrowUp-white@2x.png in Resources */,
7407D7DB13A67ABD0074B83C /* popoverArrowRight@2x.png in Resources */,
7407D7DC13A67ABD0074B83C /* popoverArrowRight.png in Resources */,
7407D7DD13A67ABD0074B83C /* popoverArrowLeft@2x.png in Resources */,
7407D7DE13A67ABD0074B83C /* popoverArrowLeft.png in Resources */,
+ 74295FBE18BE47A4008612BA /* popoverBg-white@2x.png in Resources */,
7407D7DF13A67ABD0074B83C /* popoverArrowDown@2x.png in Resources */,
7407D7E013A67ABD0074B83C /* popoverArrowDown.png in Resources */,
);
@@ -345,6 +373,7 @@
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 4.3;
PREBINDING = NO;
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
SDKROOT = iphoneos;
@@ -360,6 +389,7 @@
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 4.3;
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
PREBINDING = NO;
SDKROOT = iphoneos;

0 comments on commit 467bdd6

Please sign in to comment.