From 885038e61df144ef4f96b71d00dafab9e32ecce2 Mon Sep 17 00:00:00 2001 From: Tito Ciuro Date: Sun, 3 Jun 2012 23:37:58 -0700 Subject: [PATCH] Fixed #7: Replace background image with a gradient --- NoticeView.xcodeproj/project.pbxproj | 12 +++++ .../NoticeView.bundle/notice_error.png | Bin 4383 -> 0 bytes .../NoticeView.bundle/notice_success.png | Bin 2789 -> 0 bytes NoticeView/WBNoticeView/WBBlueGradientView.h | 13 +++++ NoticeView/WBNoticeView/WBBlueGradientView.m | 51 ++++++++++++++++++ NoticeView/WBNoticeView/WBNoticeView.m | 31 +++++------ NoticeView/WBNoticeView/WBRedGradientView.h | 13 +++++ NoticeView/WBNoticeView/WBRedGradientView.m | 51 ++++++++++++++++++ 8 files changed, 154 insertions(+), 17 deletions(-) delete mode 100644 NoticeView/WBNoticeView/NoticeView.bundle/notice_error.png delete mode 100644 NoticeView/WBNoticeView/NoticeView.bundle/notice_success.png create mode 100644 NoticeView/WBNoticeView/WBBlueGradientView.h create mode 100644 NoticeView/WBNoticeView/WBBlueGradientView.m create mode 100644 NoticeView/WBNoticeView/WBRedGradientView.h create mode 100644 NoticeView/WBNoticeView/WBRedGradientView.m diff --git a/NoticeView.xcodeproj/project.pbxproj b/NoticeView.xcodeproj/project.pbxproj index 2e7ccb0..9eccb9a 100644 --- a/NoticeView.xcodeproj/project.pbxproj +++ b/NoticeView.xcodeproj/project.pbxproj @@ -25,6 +25,8 @@ 746CBCFC15709E8300B844B1 /* WBBaseNoticeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 746CBCFB15709E8300B844B1 /* WBBaseNoticeView.m */; }; 746CBD001570A1D100B844B1 /* WBErrorNoticeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 746CBCFF1570A1D100B844B1 /* WBErrorNoticeView.m */; }; 746CBD081570A8FA00B844B1 /* WBSuccessNoticeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 746CBD071570A8FA00B844B1 /* WBSuccessNoticeView.m */; }; + 7492FA45157C8CD700FB834C /* WBBlueGradientView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7492FA42157C8CD700FB834C /* WBBlueGradientView.m */; }; + 7492FA46157C8CD700FB834C /* WBRedGradientView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7492FA44157C8CD700FB834C /* WBRedGradientView.m */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -57,6 +59,10 @@ 746CBD011570A65D00B844B1 /* WBNoticeView_Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WBNoticeView_Private.h; sourceTree = ""; }; 746CBD061570A8FA00B844B1 /* WBSuccessNoticeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WBSuccessNoticeView.h; sourceTree = ""; }; 746CBD071570A8FA00B844B1 /* WBSuccessNoticeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WBSuccessNoticeView.m; sourceTree = ""; }; + 7492FA41157C8CD700FB834C /* WBBlueGradientView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WBBlueGradientView.h; sourceTree = ""; }; + 7492FA42157C8CD700FB834C /* WBBlueGradientView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WBBlueGradientView.m; sourceTree = ""; }; + 7492FA43157C8CD700FB834C /* WBRedGradientView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WBRedGradientView.h; sourceTree = ""; }; + 7492FA44157C8CD700FB834C /* WBRedGradientView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WBRedGradientView.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -161,6 +167,10 @@ 592BDDE415645BEE00B78820 /* NoticeView.bundle */, 592BDDE515645BEE00B78820 /* UILabel+WBExtensions.h */, 592BDDE615645BEE00B78820 /* UILabel+WBExtensions.m */, + 7492FA41157C8CD700FB834C /* WBBlueGradientView.h */, + 7492FA42157C8CD700FB834C /* WBBlueGradientView.m */, + 7492FA43157C8CD700FB834C /* WBRedGradientView.h */, + 7492FA44157C8CD700FB834C /* WBRedGradientView.m */, ); name = Private; sourceTree = ""; @@ -241,6 +251,8 @@ 746CBCFC15709E8300B844B1 /* WBBaseNoticeView.m in Sources */, 746CBD001570A1D100B844B1 /* WBErrorNoticeView.m in Sources */, 746CBD081570A8FA00B844B1 /* WBSuccessNoticeView.m in Sources */, + 7492FA45157C8CD700FB834C /* WBBlueGradientView.m in Sources */, + 7492FA46157C8CD700FB834C /* WBRedGradientView.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/NoticeView/WBNoticeView/NoticeView.bundle/notice_error.png b/NoticeView/WBNoticeView/NoticeView.bundle/notice_error.png deleted file mode 100644 index bcd916387cfa5f54f3d8ecb8c86534f1d417ef10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4383 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 diff --git a/NoticeView/WBNoticeView/WBBlueGradientView.h b/NoticeView/WBNoticeView/WBBlueGradientView.h new file mode 100644 index 0000000..1cca3dc --- /dev/null +++ b/NoticeView/WBNoticeView/WBBlueGradientView.h @@ -0,0 +1,13 @@ +// +// WBBlueGradientView.h +// GradientView +// +// Created by Tito Ciuro on 6/3/12. +// Copyright (c) 2012 Webbo, LLC. All rights reserved. +// + +#import + +@interface WBBlueGradientView : UIView + +@end diff --git a/NoticeView/WBNoticeView/WBBlueGradientView.m b/NoticeView/WBNoticeView/WBBlueGradientView.m new file mode 100644 index 0000000..2c66266 --- /dev/null +++ b/NoticeView/WBNoticeView/WBBlueGradientView.m @@ -0,0 +1,51 @@ +// +// WBBlueGradientView.m +// GradientView +// +// Created by Tito Ciuro on 6/3/12. +// Copyright (c) 2012 Webbo, LLC. All rights reserved. +// + +#import + +#import "WBBlueGradientView.h" + +@implementation WBBlueGradientView + +- (void)drawRect:(CGRect)rect +{ + + UIColor *redTop = [UIColor colorWithRed:37/255.0f green:122/255.0f blue:185/255.0f alpha:1.0]; + UIColor *redBot = [UIColor colorWithRed:18/255.0f green:96/255.0f blue:154/255.0f alpha:1.0]; + + CAGradientLayer *gradient = [CAGradientLayer layer]; + gradient.frame = self.bounds; + gradient.colors = [NSArray arrayWithObjects: + (id)redTop.CGColor, + (id)redBot.CGColor, + nil]; + gradient.locations = [NSArray arrayWithObjects: + [NSNumber numberWithFloat:0.0f], + [NSNumber numberWithFloat:0.7], + nil]; + + [self.layer insertSublayer:gradient atIndex:0]; + + UIView *firstTopBlueLine = [[UIView alloc]initWithFrame:CGRectMake(0.0, 0.0, self.bounds.size.width, 1.0)]; + firstTopBlueLine.backgroundColor = [UIColor colorWithRed:105/255.0f green:163/255.0f blue:208/255.0f alpha:1.0]; + [self addSubview:firstTopBlueLine]; + + UIView *secondTopBlueLine = [[UIView alloc]initWithFrame:CGRectMake(0.0, 1.0, self.bounds.size.width, 1.0)]; + secondTopBlueLine.backgroundColor = [UIColor colorWithRed:46/255.0f green:126/255.0f blue:188/255.0f alpha:1.0]; + [self addSubview:secondTopBlueLine]; + + UIView *firstBotBlueLine = [[UIView alloc]initWithFrame:CGRectMake(0.0, self.bounds.size.height - 1, self.frame.size.width, 1.0)]; + firstBotBlueLine.backgroundColor = [UIColor colorWithRed:18/255.0f green:92/255.0f blue:149/255.0f alpha:1.0]; + [self addSubview:firstBotBlueLine]; + + UIView *secondBotDarkLine = [[UIView alloc]initWithFrame:CGRectMake(0.0, self.bounds.size.height, self.frame.size.width, 1.0)]; + secondBotDarkLine.backgroundColor = [UIColor colorWithRed:4/255.0f green:45/255.0f blue:75/255.0f alpha:1.0]; + [self addSubview:secondBotDarkLine]; +} + +@end diff --git a/NoticeView/WBNoticeView/WBNoticeView.m b/NoticeView/WBNoticeView/WBNoticeView.m index 66d0b61..e67641f 100644 --- a/NoticeView/WBNoticeView/WBNoticeView.m +++ b/NoticeView/WBNoticeView/WBNoticeView.m @@ -8,6 +8,8 @@ #import "WBNoticeView.h" #import "WBNoticeView_Private.h" +#import "WBRedGradientView.h" +#import "WBBlueGradientView.h" #import "UILabel+WBExtensions.h" #import @@ -15,7 +17,6 @@ @interface WBNoticeView () @property(nonatomic, strong) UIView *noticeView; -@property(nonatomic, strong) UIImageView *imageView; @property(nonatomic, strong) UILabel *titleLabel; @property(nonatomic, strong) UILabel *messageLabel; @@ -25,7 +26,7 @@ @implementation WBNoticeView -@synthesize noticeView, imageView, titleLabel, messageLabel; +@synthesize noticeView, titleLabel, messageLabel; + (WBNoticeView *)defaultManager { @@ -160,7 +161,6 @@ // Locate the images NSString *path = [[[NSBundle mainBundle]resourcePath]stringByAppendingPathComponent:@"NoticeView.bundle"]; - NSString *noticeBackgroundImageName = [path stringByAppendingPathComponent:(WBNoticeViewTypeError == noticeType ? @"notice_error.png" : @"notice_success.png")]; NSString *noticeIconImageName = [path stringByAppendingPathComponent:(WBNoticeViewTypeError == noticeType ? @"notice_error_icon.png" : @"notice_success_icon.png")]; NSInteger numberOfLines = 1; CGFloat messageLineHeight = 30.0; @@ -210,15 +210,13 @@ hiddenYOrigin = -noticeViewHeight - 20.0; // Make and add the notice view - self.noticeView = [[UIView alloc]initWithFrame:CGRectMake(0.0, hiddenYOrigin, viewWidth, noticeViewHeight + 10.0)]; + if (WBNoticeViewTypeError == noticeType) { + self.noticeView = [[WBRedGradientView alloc]initWithFrame:CGRectMake(0.0, hiddenYOrigin, viewWidth, noticeViewHeight + 10.0)]; + } else { + self.noticeView = [[WBBlueGradientView alloc]initWithFrame:CGRectMake(0.0, hiddenYOrigin, viewWidth, noticeViewHeight + 10.0)]; + } [view addSubview:self.noticeView]; - // Make and add the image view - self.imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0.0, 0.0, viewWidth, noticeViewHeight + 10.0)]; - [self.imageView setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)]; - self.imageView.image = [UIImage imageWithContentsOfFile:noticeBackgroundImageName]; - [self.noticeView addSubview:self.imageView]; - // Make and add the icon view UIImageView *iconView = [[UIImageView alloc]initWithFrame:CGRectMake(10.0, 10.0, 30.0, 30.0)]; iconView.image = [UIImage imageWithContentsOfFile:noticeIconImageName]; @@ -234,12 +232,12 @@ [self.noticeView addSubview:self.messageLabel]; } - // Add the drop shadow to profileImageView - self.imageView.layer.shadowColor = [[UIColor blackColor]CGColor]; - self.imageView.layer.shadowOffset = CGSizeMake(0.0, 3); - self.imageView.layer.shadowOpacity = 0.50; - self.imageView.layer.masksToBounds = NO; - self.imageView.layer.shouldRasterize = YES; + // Add the drop shadow to the notice view + self.noticeView.layer.shadowColor = [[UIColor blackColor]CGColor]; + self.noticeView.layer.shadowOffset = CGSizeMake(0.0, 3); + self.noticeView.layer.shadowOpacity = 0.50; + self.noticeView.layer.masksToBounds = NO; + self.noticeView.layer.shouldRasterize = YES; // Go ahead, display it and then hide it automatically [UIView animateWithDuration:duration animations:^ { @@ -269,7 +267,6 @@ { [self.noticeView removeFromSuperview]; self.noticeView = nil; - self.imageView = nil; self.titleLabel = nil; self.messageLabel = nil; } diff --git a/NoticeView/WBNoticeView/WBRedGradientView.h b/NoticeView/WBNoticeView/WBRedGradientView.h new file mode 100644 index 0000000..cf5b52c --- /dev/null +++ b/NoticeView/WBNoticeView/WBRedGradientView.h @@ -0,0 +1,13 @@ +// +// WBRedGradientView.h +// GradientView +// +// Created by Tito Ciuro on 6/3/12. +// Copyright (c) 2012 Webbo, LLC. All rights reserved. +// + +#import + +@interface WBRedGradientView : UIView + +@end diff --git a/NoticeView/WBNoticeView/WBRedGradientView.m b/NoticeView/WBNoticeView/WBRedGradientView.m new file mode 100644 index 0000000..8477528 --- /dev/null +++ b/NoticeView/WBNoticeView/WBRedGradientView.m @@ -0,0 +1,51 @@ +// +// WBRedGradientView.m +// GradientView +// +// Created by Tito Ciuro on 6/3/12. +// Copyright (c) 2012 Webbo, LLC. All rights reserved. +// + +#import + +#import "WBRedGradientView.h" + +@implementation WBRedGradientView + +- (void)drawRect:(CGRect)rect +{ + + UIColor *redTop = [UIColor colorWithRed:167/255.0f green:26/255.0f blue:20/255.0f alpha:1.0]; + UIColor *redBot = [UIColor colorWithRed:134/255.0f green:9/255.0f blue:7/255.0f alpha:1.0]; + + CAGradientLayer *gradient = [CAGradientLayer layer]; + gradient.frame = self.bounds; + gradient.colors = [NSArray arrayWithObjects: + (id)redTop.CGColor, + (id)redBot.CGColor, + nil]; + gradient.locations = [NSArray arrayWithObjects: + [NSNumber numberWithFloat:0.0f], + [NSNumber numberWithFloat:0.7], + nil]; + + [self.layer insertSublayer:gradient atIndex:0]; + + UIView *firstTopPinkLine = [[UIView alloc]initWithFrame:CGRectMake(0.0, 0.0, self.bounds.size.width, 1.0)]; + firstTopPinkLine.backgroundColor = [UIColor colorWithRed:211/255.0f green:82/255.0f blue:80/255.0f alpha:1.0]; + [self addSubview:firstTopPinkLine]; + + UIView *secondTopRedLine = [[UIView alloc]initWithFrame:CGRectMake(0.0, 1.0, self.bounds.size.width, 1.0)]; + secondTopRedLine.backgroundColor = [UIColor colorWithRed:193/255.0f green:30/255.0f blue:23/255.0f alpha:1.0]; + [self addSubview:secondTopRedLine]; + + UIView *firstBotRedLine = [[UIView alloc]initWithFrame:CGRectMake(0.0, self.bounds.size.height - 1, self.frame.size.width, 1.0)]; + firstBotRedLine.backgroundColor = [UIColor colorWithRed:134/255.0f green:9/255.0f blue:7/255.0f alpha:1.0]; + [self addSubview:firstBotRedLine]; + + UIView *secondBotDarkLine = [[UIView alloc]initWithFrame:CGRectMake(0.0, self.bounds.size.height, self.frame.size.width, 1.0)]; + secondBotDarkLine.backgroundColor = [UIColor colorWithRed:52/255.0f green:4/255.0f blue:3/255.0f alpha:1.0]; + [self addSubview:secondBotDarkLine]; +} + +@end