From 8243b6b7c8a9d3b64db2741690d98efc5c4805f7 Mon Sep 17 00:00:00 2001 From: John Pope Date: Thu, 12 Dec 2013 12:46:46 +1100 Subject: [PATCH] updated demo - to show custom images --- ALAlertBanner/ALAlertBanner.h | 7 ++- ALAlertBanner/ALAlertBanner.m | 11 +++-- ALAlertBanner/JALabel/JALabel.h | 13 ++++++ ALAlertBanner/JALabel/JALabel.m | 31 +++++++++++++ .../project.pbxproj | 42 ++++++++++++++++++ .../contents.xcworkspacedata | 0 .../ALAlertBannerDemo/ViewController.m | 26 +++++++++-- .../ALAlertBannerDemo/images/0.png | Bin 0 -> 6383 bytes .../ALAlertBannerDemo/images/1.png | Bin 0 -> 8921 bytes .../ALAlertBannerDemo/images/2.png | Bin 0 -> 7901 bytes .../ALAlertBannerDemo/images/3.png | Bin 0 -> 7824 bytes .../ALAlertBannerDemo/images/4.png | Bin 0 -> 7003 bytes 12 files changed, 122 insertions(+), 8 deletions(-) create mode 100755 ALAlertBanner/JALabel/JALabel.h create mode 100755 ALAlertBanner/JALabel/JALabel.m mode change 100644 => 100755 ALAlertBannerDemo/ALAlertBannerDemo.xcodeproj/project.pbxproj mode change 100644 => 100755 ALAlertBannerDemo/ALAlertBannerDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 ALAlertBannerDemo/ALAlertBannerDemo/images/0.png create mode 100644 ALAlertBannerDemo/ALAlertBannerDemo/images/1.png create mode 100644 ALAlertBannerDemo/ALAlertBannerDemo/images/2.png create mode 100644 ALAlertBannerDemo/ALAlertBannerDemo/images/3.png create mode 100644 ALAlertBannerDemo/ALAlertBannerDemo/images/4.png diff --git a/ALAlertBanner/ALAlertBanner.h b/ALAlertBanner/ALAlertBanner.h index 5ac2e4b..9bf3c5e 100755 --- a/ALAlertBanner/ALAlertBanner.h +++ b/ALAlertBanner/ALAlertBanner.h @@ -24,18 +24,21 @@ #import #import +#import "JALabel.h" typedef enum { ALAlertBannerStyleSuccess = 0, ALAlertBannerStyleFailure, ALAlertBannerStyleNotify, ALAlertBannerStyleWarning, + ALAlertBannerStyleCustom, } ALAlertBannerStyle; typedef enum { ALAlertBannerPositionTop = 0, ALAlertBannerPositionBottom, ALAlertBannerPositionUnderNavBar, + } ALAlertBannerPosition; typedef enum { @@ -48,7 +51,9 @@ typedef enum { } ALAlertBannerState; @interface ALAlertBanner : UIView - +@property (nonatomic, strong) JALabel *titleLabel; +@property (nonatomic, strong) JALabel *subtitleLabel; +@property (nonatomic, strong) UIImageView *styleImageView; @property (nonatomic, readonly) ALAlertBannerStyle style; @property (nonatomic, readonly) ALAlertBannerPosition position; @property (nonatomic, readonly) ALAlertBannerState state; diff --git a/ALAlertBanner/ALAlertBanner.m b/ALAlertBanner/ALAlertBanner.m index 2ba1052..d5ff716 100755 --- a/ALAlertBanner/ALAlertBanner.m +++ b/ALAlertBanner/ALAlertBanner.m @@ -119,9 +119,6 @@ @interface ALAlertBanner () { @property (nonatomic, assign) ALAlertBannerState state; @property (nonatomic) NSTimeInterval fadeOutDuration; @property (nonatomic, readonly) BOOL isAnimating; -@property (nonatomic, strong) UILabel *titleLabel; -@property (nonatomic, strong) UILabel *subtitleLabel; -@property (nonatomic, strong) UIImageView *styleImageView; @property (nonatomic) CGRect parentFrameUponCreation; @end @@ -222,6 +219,14 @@ -(void)setStyle:(ALAlertBannerStyle)style { self.titleLabel.layer.shadowOpacity = 0.2f; self.subtitleLabel.layer.shadowOpacity = 0.2f; + case ALAlertBannerStyleCustom: + //self.styleImageView.image = [UIImage imageNamed:@"placeholder_notification"]; + + //tone the shadows down a little for the yellow background + self.titleLabel.layer.shadowOpacity = 0.2f; + self.subtitleLabel.layer.shadowOpacity = 0.2f; + + break; } } diff --git a/ALAlertBanner/JALabel/JALabel.h b/ALAlertBanner/JALabel/JALabel.h new file mode 100755 index 0000000..54d6cbd --- /dev/null +++ b/ALAlertBanner/JALabel/JALabel.h @@ -0,0 +1,13 @@ +// +// JALabel.h +// JALabel +// +// Created by Josh Adams on 5/1/13. +// Copyright (c) 2013 Josh Adams. All rights reserved. +// + +#import + +@interface JALabel : UILabel + +@end diff --git a/ALAlertBanner/JALabel/JALabel.m b/ALAlertBanner/JALabel/JALabel.m new file mode 100755 index 0000000..645d13d --- /dev/null +++ b/ALAlertBanner/JALabel/JALabel.m @@ -0,0 +1,31 @@ +// +// JALabel.m +// JALabel +// +// Created by Josh Adams on 5/1/13. +// Copyright (c) 2013 Josh Adams. All rights reserved. +// + +#import "JALabel.h" + +@implementation JALabel + +- (id)initWithFrame:(CGRect)frame +{ + self = [super initWithFrame:frame]; + if (self) { + // Initialization code + } + return self; +} + +- (void)drawTextInRect:(CGRect)rect +{ + CGSize labelStringSize = [self.text sizeWithFont:self.font + constrainedToSize:CGSizeMake(self.frame.size.width, 9999) + lineBreakMode:self.lineBreakMode]; + + [super drawTextInRect:CGRectMake(0, 0, self.frame.size.width, labelStringSize.height)]; +} + +@end diff --git a/ALAlertBannerDemo/ALAlertBannerDemo.xcodeproj/project.pbxproj b/ALAlertBannerDemo/ALAlertBannerDemo.xcodeproj/project.pbxproj old mode 100644 new mode 100755 index c58a0d6..449bfb1 --- a/ALAlertBannerDemo/ALAlertBannerDemo.xcodeproj/project.pbxproj +++ b/ALAlertBannerDemo/ALAlertBannerDemo.xcodeproj/project.pbxproj @@ -29,6 +29,12 @@ 4FC799DF17BC33D0000AEC49 /* bannerNotify.png in Resources */ = {isa = PBXBuildFile; fileRef = 4FC799DB17BC33D0000AEC49 /* bannerNotify.png */; }; 4FC799E017BC33D0000AEC49 /* bannerSuccess.png in Resources */ = {isa = PBXBuildFile; fileRef = 4FC799DC17BC33D0000AEC49 /* bannerSuccess.png */; }; 4FFBA6F917BE970700C2A7F2 /* ALAlertBannerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FFBA6F817BE970700C2A7F2 /* ALAlertBannerManager.m */; }; + 5D24F4521859432E00821CAD /* JALabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D24F4511859432E00821CAD /* JALabel.m */; }; + 5D24F4571859446800821CAD /* 1.png in Resources */ = {isa = PBXBuildFile; fileRef = 5D24F4541859446800821CAD /* 1.png */; }; + 5D24F4581859446800821CAD /* 2.png in Resources */ = {isa = PBXBuildFile; fileRef = 5D24F4551859446800821CAD /* 2.png */; }; + 5D24F4591859446800821CAD /* 3.png in Resources */ = {isa = PBXBuildFile; fileRef = 5D24F4561859446800821CAD /* 3.png */; }; + 5D24F45C1859452100821CAD /* 4.png in Resources */ = {isa = PBXBuildFile; fileRef = 5D24F45A1859452100821CAD /* 4.png */; }; + 5D24F45F1859475500821CAD /* 0.png in Resources */ = {isa = PBXBuildFile; fileRef = 5D24F45E1859475500821CAD /* 0.png */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -63,6 +69,13 @@ 4FC799DC17BC33D0000AEC49 /* bannerSuccess.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bannerSuccess.png; sourceTree = ""; }; 4FFBA6F717BE970700C2A7F2 /* ALAlertBannerManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALAlertBannerManager.h; sourceTree = ""; }; 4FFBA6F817BE970700C2A7F2 /* ALAlertBannerManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALAlertBannerManager.m; sourceTree = ""; }; + 5D24F4501859432E00821CAD /* JALabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JALabel.h; sourceTree = ""; }; + 5D24F4511859432E00821CAD /* JALabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JALabel.m; sourceTree = ""; }; + 5D24F4541859446800821CAD /* 1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = 1.png; sourceTree = ""; }; + 5D24F4551859446800821CAD /* 2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = 2.png; sourceTree = ""; }; + 5D24F4561859446800821CAD /* 3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = 3.png; sourceTree = ""; }; + 5D24F45A1859452100821CAD /* 4.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = 4.png; sourceTree = ""; }; + 5D24F45E1859475500821CAD /* 0.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = 0.png; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -112,6 +125,7 @@ 4FC799AC17BC072A000AEC49 /* ALAlertBannerDemo */ = { isa = PBXGroup; children = ( + 5D24F4531859446800821CAD /* images */, 4FC799B517BC072A000AEC49 /* AppDelegate.h */, 4FC799B617BC072A000AEC49 /* AppDelegate.m */, 4FC799C317BC0758000AEC49 /* ViewController.h */, @@ -140,6 +154,7 @@ 4FC799C617BC078A000AEC49 /* ALAlertBanner */ = { isa = PBXGroup; children = ( + 5D24F44F1859432E00821CAD /* JALabel */, 4FC799CA17BC078B000AEC49 /* ALAlertBanner.h */, 4FC799CB17BC078B000AEC49 /* ALAlertBanner.m */, 4FFBA6F717BE970700C2A7F2 /* ALAlertBannerManager.h */, @@ -166,6 +181,27 @@ path = Images; sourceTree = ""; }; + 5D24F44F1859432E00821CAD /* JALabel */ = { + isa = PBXGroup; + children = ( + 5D24F4501859432E00821CAD /* JALabel.h */, + 5D24F4511859432E00821CAD /* JALabel.m */, + ); + path = JALabel; + sourceTree = ""; + }; + 5D24F4531859446800821CAD /* images */ = { + isa = PBXGroup; + children = ( + 5D24F45E1859475500821CAD /* 0.png */, + 5D24F4541859446800821CAD /* 1.png */, + 5D24F4551859446800821CAD /* 2.png */, + 5D24F4561859446800821CAD /* 3.png */, + 5D24F45A1859452100821CAD /* 4.png */, + ); + path = images; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -227,8 +263,13 @@ 4FC799D617BC07B7000AEC49 /* bannerSuccess@2x.png in Resources */, 4FC799DD17BC33D0000AEC49 /* bannerAlert.png in Resources */, 4FC799DE17BC33D0000AEC49 /* bannerFailure.png in Resources */, + 5D24F4591859446800821CAD /* 3.png in Resources */, + 5D24F45F1859475500821CAD /* 0.png in Resources */, 4FC799DF17BC33D0000AEC49 /* bannerNotify.png in Resources */, + 5D24F45C1859452100821CAD /* 4.png in Resources */, + 5D24F4581859446800821CAD /* 2.png in Resources */, 4FC799E017BC33D0000AEC49 /* bannerSuccess.png in Resources */, + 5D24F4571859446800821CAD /* 1.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -240,6 +281,7 @@ buildActionMask = 2147483647; files = ( 203ADC231809F1B9001E4C68 /* TableViewController.m in Sources */, + 5D24F4521859432E00821CAD /* JALabel.m in Sources */, 4FC799B317BC072A000AEC49 /* main.m in Sources */, 4FC799B717BC072A000AEC49 /* AppDelegate.m in Sources */, 4FC799C517BC0758000AEC49 /* ViewController.m in Sources */, diff --git a/ALAlertBannerDemo/ALAlertBannerDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ALAlertBannerDemo/ALAlertBannerDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata old mode 100644 new mode 100755 diff --git a/ALAlertBannerDemo/ALAlertBannerDemo/ViewController.m b/ALAlertBannerDemo/ALAlertBannerDemo/ViewController.m index d6df6bd..031b063 100755 --- a/ALAlertBannerDemo/ALAlertBannerDemo/ViewController.m +++ b/ALAlertBannerDemo/ALAlertBannerDemo/ViewController.m @@ -65,7 +65,7 @@ - (void)viewDidLoad { self.underNavButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; self.underNavButton.tag = ALAlertBannerPositionUnderNavBar; - [self.underNavButton setTitle:@"UIWindow" forState:UIControlStateNormal]; + [self.underNavButton setTitle:@"Custom" forState:UIControlStateNormal]; [self.underNavButton addTarget:self action:@selector(showAlertBannerInWindow:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:self.underNavButton]; @@ -115,7 +115,7 @@ - (void)viewWillDisappear:(BOOL)animated { - (void)configureView { self.topButton.frame = CGRectMake(20, self.view.frame.size.height/2 - 80.f, (self.view.frame.size.width - 40.f)/3, 40.f); self.bottomButton.frame = CGRectMake(self.topButton.frame.origin.x + self.topButton.frame.size.width, self.topButton.frame.origin.y, self.topButton.frame.size.width, self.topButton.frame.size.height); - self.underNavButton.frame = CGRectMake(self.bottomButton.frame.origin.x + self.bottomButton.frame.size.width, self.topButton.frame.origin.y, self.topButton.frame.size.width, self.topButton.frame.size.height); + self.underNavButton.frame = CGRectMake(0, self.view.bounds.size.height - 44, self.topButton.frame.size.width, self.topButton.frame.size.height); self.secondsToShowSlider.frame = CGRectMake(self.topButton.frame.origin.x, self.topButton.frame.origin.y + self.topButton.frame.size.height + 20.f, self.view.frame.size.width - 40.f, 20.f); self.secondsToShowLabel.frame = CGRectMake(self.secondsToShowSlider.frame.origin.x, self.secondsToShowSlider.frame.origin.y + self.secondsToShowSlider.frame.size.height, self.secondsToShowSlider.frame.size.width, 20.f); @@ -126,10 +126,13 @@ - (void)configureView { - (void)showAlertBannerInView:(UIButton *)button { ALAlertBannerPosition position = (ALAlertBannerPosition)button.tag; ALAlertBannerStyle randomStyle = (ALAlertBannerStyle)(arc4random_uniform(4)); - ALAlertBanner *banner = [ALAlertBanner alertBannerForView:self.view style:randomStyle position:position title:@"Lorem ipsum dolor sit amet, consectetur adipiscing elit." subtitle:[AppDelegate randomLoremIpsum] tappedBlock:^(ALAlertBanner *alertBanner) { + + ALAlertBanner *banner = [ALAlertBanner alertBannerForView:self.view style:randomStyle position:position title:@"Lorem ipsum dolor sit amet, consectetur adipiscing elit." subtitle:[AppDelegate randomLoremIpsum] tappedBlock:^(ALAlertBanner *alertBanner) { NSLog(@"tapped!"); [alertBanner hide]; }]; + + banner.secondsToShow = self.secondsToShow; banner.showAnimationDuration = self.showAnimationDuration; banner.hideAnimationDuration = self.hideAnimationDuration; @@ -138,12 +141,27 @@ - (void)showAlertBannerInView:(UIButton *)button { - (void)showAlertBannerInWindow:(UIButton *)button { AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; - ALAlertBannerStyle randomStyle = (ALAlertBannerStyle)(arc4random_uniform(4)); + ALAlertBannerStyle randomStyle = ALAlertBannerStyleCustom;//(ALAlertBannerStyle)(arc4random_uniform(4)); ALAlertBannerPosition position = (ALAlertBannerPosition)button.tag; ALAlertBanner *banner = [ALAlertBanner alertBannerForView:appDelegate.window style:randomStyle position:position title:@"Lorem ipsum dolor sit amet, consectetur adipiscing elit." subtitle:[AppDelegate randomLoremIpsum] tappedBlock:^(ALAlertBanner *alertBanner) { NSLog(@"tapped!"); [alertBanner hide]; }]; + + if (randomStyle == ALAlertBannerStyleCustom) { + banner.frame =CGRectMake(0, 0, 320, 100); + banner.backgroundColor = [UIColor colorWithRed:0.933 green:0.922 blue:0.941 alpha:1.000]; + banner.styleImageView.frame = CGRectMake(0, 0, 100, 95); + int randomImage = (int)(arc4random_uniform(4)); + banner.styleImageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d",randomImage]]; + NSLog(@"randomImage:%d",randomImage); + banner.titleLabel.frame =CGRectMake(100, 0, 200, 20); + banner.titleLabel.textColor = [UIColor colorWithRed:0.231 green:0.231 blue:0.235 alpha:1.000]; + banner.subtitleLabel.frame =CGRectMake(100, 0, 200, 100); + banner.subtitleLabel.textColor = [UIColor colorWithRed:0.231 green:0.231 blue:0.235 alpha:1.000]; + } + + banner.secondsToShow = self.secondsToShow; banner.showAnimationDuration = self.showAnimationDuration; banner.hideAnimationDuration = self.hideAnimationDuration; diff --git a/ALAlertBannerDemo/ALAlertBannerDemo/images/0.png b/ALAlertBannerDemo/ALAlertBannerDemo/images/0.png new file mode 100644 index 0000000000000000000000000000000000000000..a3e70f8fa8b8a078f901abb758e1a8cf75a2aa8b GIT binary patch literal 6383 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 QKTUjDNhOJDF_WPG1HpaWm;e9( literal 0 HcmV?d00001 diff --git a/ALAlertBannerDemo/ALAlertBannerDemo/images/2.png b/ALAlertBannerDemo/ALAlertBannerDemo/images/2.png new file mode 100644 index 0000000000000000000000000000000000000000..79c0b4d762de92fe891e26ee299a992dcea1edbd GIT binary patch literal 7901 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 TQ`fhDKJpahRAsBB%|reNcLvvw literal 0 HcmV?d00001 diff --git a/ALAlertBannerDemo/ALAlertBannerDemo/images/3.png b/ALAlertBannerDemo/ALAlertBannerDemo/images/3.png new file mode 100644 index 0000000000000000000000000000000000000000..721797f210fe1e5a80b5af8abf4b70a6e3854c5c GIT binary patch literal 7824 zcmZX21ymfqviIUvC=}NM#chi&vOs~wiY`{X=(3CZvPg0F;-z?zqQzYb1&X^{aVfL%S0u!z!3O{Ugvv?~t-rnB--^UV|J&xF=E(p6 z{I3W(IZb6bIYv!aCm6!s8URottVl)bYY$L#?XF%Z5QH$ZUaU$eRpsGM%IL^GQ{rI4 z42qgh=p{EMU}ny({2mn$WQS%2C4utrpySU|T0x;X(O5E26zGf9Rr~QTf2R&7*t@IY z3_+Wn>~lXHfUATyqf)RnKxx;8pyv*}&tL80zHIplGwKyl2?jVRh4loNkP!WGUWy1! zsm-fj$NuN@nTM+&p3J0PbO645D(QkjxqHYMb9)#oF$^OhN@i=(t_I6uR8HSCLNwyU zk)Ivt9Ggx`+2mo$&OA&ov5yAOfC+>S01}RvT)m07sjKBa$jk?g?VO@9(lQZ(RE?c&v7Fc5Bl8vraYGG2a=sa%D0fo8ag4INTW5oG2#)RVo>(C*fs~Y#Zc!Rh&x*lL=i{bo04VaGi zAE;YnVhY&m4wXt(O0Ufgr_i8c2`&r-Ybvi??jOj8%&=}c{m(fH~)73R~gxKub*T`YfaVNAH) zGGr0>oN_b?d{$2kWQY>Dw=l3|%r$wE0jzSqN|@U+MtK$`n56-6uRO-b#!-6$?idH* zM{)(@m={DhPYTQgc%GJh_5LDu2=M6&bjECZrXD7^ZrlV|#Y^j%Il*h9?s&2mgtJca zha4P=&hacNY!Z@@Pp4^GLaal_g~tkUfRN`6YR;4>=+KtZdf*5LdB@&_^yPnsi!YM> ziutXmm~XJBdZBPZDmBdH@ z5*>*L3ZU&D`JwDZ*haoe`8<4g^ZeBMkN2JY9pFLiT`Hs8IIAd$EUtaGcsHLcVP33r z=1cW-*1>0&k$m59E%03ksz1&vwY~O*_-ZgG)+xn(+Gb%u2!8(P9_5}T^!f&p`hqsG z{rjmE35vZrby=oEA0!bE1)rBI;y03**2$k9s z*_3|1_ED;OKbpdqB=y42=%)UOjDkj=N*HG?v`A~GZTQP@GLP=8mIy?|#53H!{g7~h z(p6MUQtY`{gK^+8w3*x0Qin`8^FZDj+Nfn$^5*mAnLf%773Le|TYaZ|ZF;SYC5A;C z$`M+RpMp zF6PJ(3=@YlA7>`#qNWGuY$v_T)uuhi)hGF8j;6DxC&uw+2c{6?s9cqCkMZq;qq$$R zS+i4f(X&fMbNN@YZ~|nAHN4!{D37OG##Ahi0$^w(rvxQzl`CE)Ch0T=+dl+ zgvI`fLG|Ip-m1N1i(~UmvQ0AAuK65}h(iSLmr#%JeCJs!?>&rdjzfLCW;k~|ccN&Z zKu`!%JmuZy!QeUPUE*0Ypf;#3=c+g|)Gqg{02wqIcGmMZtk2WcG~1}u6E>{CmJqiy zqpRxhIXK9?$}-37t+n(a<1z8Um!9>O7kv{`E=iWHo9yfo#rDNh>i(jc;>F@~5}o>` zoyoOzu>JJtRD!APh@lAX72&U!igP3&HBgaJ{gO7)0oicNf3?dH#=yzI4qo*#^um`M zL#g|Sp&U*QP83kLC`#1T&G&1_jm{tN>CBnhZ--W0fcBKfm>ZCT~S@dG72)?xeaEbqKsZnCk56mLw|-0WnbaGuyXposd+y>JpMM- zGA*31%J_k2SbzsuF7c73L%dDu&N9U2TV+IeB6ec__fd}hl0PLaCHwH>z4v>GROji0 z{EZg67O3h9m!_tYCQBD>ZeP7aBYp-a+P75Fbz1)0izy(z&*iU;Jk0AaY@zO)~ zLT*BU!^ALQH?G7){S?uGGmBp~?G~-IDhs4^lMP-~ z=r><|GB};oarVkQZ|GSo=-l;NYhCfa4g9qhH7^f}=8YPP>O3_2)pQ-a{d8M;_?PP9 zLhF#@T;9t3%H4{b&+>0NU?T4TFZB{_TVr#wsiDq|`PzXWXwZI;=$QS8^4D|Dr(8~w zxo&1xfk5)*sIRZb28+06N`L82;Vj_b5H&xy1($m^{W;lvj*?!L*g$@2HmqtnnZ8n$ktTkr72;X_x*?C zdhQj5m9)xMW2eq__su)C@J!yuLr3AO`QIOJXMWGQwR^UYH2!jG{4Mso{u21BQ}l<3 z^L5-+mK~BB=|sp!d-yzxt_4IV4R($9JMO)&yLEcL1y1*Cx+d9yPFQC2TWjd#=sd#y z7)?d2d=G^lPh=ObYdnvu?lZm5zPwF44YEnLu^to7o@@W&Jt4I&F>&SEJ9PRc=uK@E z!6WN!RVfJDY4lfY=;&yCCdV4(jZzIIApa8R&cTFm$0 zf$skL`tSp=3Ap{1u(QFB;O;k^&(Bf4i%ekG4vkEpTUi;5sRMF}07OhCl;#2g(JJ}4NPv-%ia0Y#V>ydm z87knr>?fg&j7*;@Y(OPpKvj2h^Fpwj+grN??|Uf#eFnj0qdqM+Mi*yHy7x3Fs`wH9 zh<*C%E^3o*oels%%R=bryX&i|id#B4@R?gVSy=OVIXM4)>;eE_FY&*mgSERkqnCrd zqno&wB=f&C#Q)O&uz}2s|59$jAtGwStLjK@|Q2 z|2vXohP%5vivxj3B$5v)$mis01LPMI69c{!01623{?*`hLpi#ed+|EDz4*70|7Qnc z?PlqUaCS#HIWqoZ*WAL%!(Eb@`5#CBTmC&yYcItAd2)37Pgs8g1pXrd^7Fj}{;%!7 zQ1CxoaZQAmwY@$B;b86P_Sc6Lzko3KU;6)_yCxzqo(XC4~ztlH5^to?x1ehg=EP;#E zVhbuOYr(LkY-;aWo4JyKc-+lCl8{`v8dV=tJ$|B$RD(ILbzFUP^S`=iZgfIAeIz~3 z%Kx#`!skif@1pW8=SQ^=eRu#y4E5ZAXcR{RHur9jM94GWX_wdXprw7!-)D|d9YIhB ziKt9B&u^USO&R4FHI)Q5vnkxoJwr09ye;(Yqx->GMmd8qS+87<@J(K*>98`I9yIA3 zP=D0-h+dMI%b;RqCy0`{NLij>cl?}uJW7wMJ)T&q3BS^2ySyq*cfeUMW<4MeSesDU-$r4yml{(1~B`0K33kn?Ety<=ZH@bJT!53cRw7# z&NC7V7J`>n9Q!%RbbcrYtAbB(h3QgPo>9SmJ4yOkY3#OLgRQV-eOZw>F4!f}MC(2D zTagjPSH3{PJ+8rXO6=k42`JmB#2qW`2GV(xOO=7X?>h!oaN*>I4rYizd?8nNK?adkK~QBW;C43H zGAV5E5@~{7mU=cJwrdrX)}Caao|P9W@#MY6d%b#95fCA}xL&_XvJ5&XFR3{TVdEv` zf@9ZA3gwx!ij0E5B_|E?)p0E= zs;Zpb{&ed_cTb%Ux5q%%2%_ee?h-jxZ^D(lXP;=&8ojq+UFSv5`&J{(RF0B|2jgLn zaI>M4j>!a}@T-Tb|{&t90* z#As`YL{D*Vojrwr4#kR^CVIH6PTzdQZJ&HoL)4=4uWN3^zPF(ZsYy#JY?PCmi(Hg9 z*p_VwO)_({rIwQ9N=cx=&cIL1dYz9Qx3N?b6mCNPylMB7N|HQVL`l09Va2@C5NMn= zO?%XdW-x#!t-mRXe|jxpbGtx*h^ccyj@zn6zh{TmMsylxu#BCN5Mj4Tdrq8BkmfvX z+7L+b)`+A&8p~1e4M|a{m>KmKnmOjwMr2TO+?207qL>$C-i<@E}C3k8!!vg`F@12_1DaGg5_Z)@O+ zvD0=*ENMQf@)vdPj1VVD=B-dH-@9|O=MB}*c=cZofm~lw-%yQET@YE$2L9ly%+jPH z!2tVBolY@45IN;I@6Y1w72R^ot=CJ4K29~c@aVC~c836!|}+Tau!&H44%Ed}Y*e40vJj<4^pV$=(Ci8mJB4c9_6u zoo(iJ2ozx7Bx9o$RzG_X+z221UA~xgMB#h49lyoKP*3~(xtyYf^F3OPYWz4*`S22^ zCS#BE_7%BVX~;oi^Wzv-IK1JU$5}7C#meiO--LG$E(fGusGg*r zz|PV?EmBbtv_10#vWeXx-f+NRau26J_!Jc(tm|ZX^fE16uc@TvSESVoBafP0C*P{> zI`JAV^5F1Ng3s@SIN0@QEO;|}*Pw=~)jD>t-^o!Q&iyN?g$=W+w{PIVeQ+@aUI&sje!m3kuh^Nk_U1x@N-W-``vrtF1=|q9 zSL&AqeO&ccQS%S~o4IGLyRJeC1J1^F{dtO+4TF_K1KY@=FPD# zHE!gTZir2(NV_;$E?E210_8;iap6qk)NnL2Z*Njhnp+W1V(5y}eBj26CmR?!?Rbx(XbvRTj;!6p^6E^|rctU{ztpniM(QA?3!;=(EVp5ka~ z{}^7%Z0T6j6yuwzQc}zXdWfiOjgO~fzn55fhj6BRo)+>6tNks@@9_$5J&pO11{Wu& zZ@fr>I5LD1tlNCV5Jt4oM4vuFyKG?0&|QExQBn^fgtM@VAVsQ6X++KH(L>z_C-~5~jNtqL?xC75`r?XZx-6Q; zc<#b;JhTjPL_Xaa;F=W@jve;&+^rx>P|}&nSI>xSFAi<+^Wzf?zl6x&s-K$ko=EjT z0=<)C7K|=KOGTROwvIGl8=!AygwimR{8MI=rWn3Q8s2+4LOy;n?vLB5>}K)s{zl(! zj}t2v24TM(`~oizT@tzS2n2r)D_2LB_IL;j-*DJ&HFNr=qNZxe`CF@662^+eD8gj z(8t<8tuNBb3xSgTz2e5ygTA?9N+MJ^!dG9h{lpAolf-ae+60?zycQ^1r63g&o+NQA zOAm}Y{63zTbuoEwYfgXMTB=x=hxL4kZQSK!#bC7@_|`*;WCkVbupE0T*|h@myY$5* zg{0ec%3(xL2SxffGEulx$d3P9iNeH=f6{(O>@ikYe|17)nlr#J6>FM&V3Pc`=A}0- zH$Lf$i*H$Vk8eYEjhe@}ARzO8zVVG?!UG6xi(B1B^s4ozIxxkB09)&BRHAz1+g-0C z)0>}JLf**;SrT;Irz@p=kZK{{GWLyA-XYNl-p=;8)fknek`C*`yB2|g(I+E_p_siTnIG!v8YG0M-K1tC_RXUmg zA$|h)Vim8k60)tpCS~FGMI+x<>`G;wN(JQ^UU+^k)3{fr|3jZz#xq!k8$|4aVwun8 zWKAw%S1CB2tX(VOmCoyJ9M8|(4;m`5;oJ6^zh_s3dr8wT%C=_bwvUZ3C_fCni3rC- zwK#t0btXlc6enW-?D=d`g-b+)-+m_(WQfW1Ws7dm27Uo(zrl6z326~8al`g_qJ{X# z7KXSZ11fdBj5*z7iIaEDFsw=>oECHmx4zMihkLM!xhTZyP)U>Bf2J47jm#?>4>7cf zE6Y%brH_b`@>AkabG}U6G<7p0aF%;E_@gH~@eVd&u|YJXX}F_%NwssPdve=)-FEay zOd8|EidSgwn99!H-+1c52{)iI6VROKN6QuxEp16YJGYDwh>TCMndmJF1(8`7!+!*` z>z*9##jW|E>D*DS)!TDmgVGFE0^jV-ORW0fcq|sE(~kvU8|oB$7EVmtk|L8yFaA^> z2RB7hwOrZ=d8e~`Mtpi^Q(8bNP9wf?yK~!oYYy>))hSm{Ekma#U$8M1fuFb(98V-Q zYMUFIP;87614{D*UcZfqrZVjb{7u(>fw6eb?9m;U8vCv&OqhL4w$Vic?KR`lIr#px z*8K+HBWX;jnu6gr{`B1^UhwkzQ`XIm2FTc&N~ZsCS|VOWhR|x)B5S($VE2lSkSW73 zx|H##S^EjnZtt>x8W7FxRS1QV-DIwB%v{k)2UQ=Vyzj&p&)mY|>?YjY1xIYgbyhM6 zMQD3ooMeeXH2gzNZ&@pDxCs5iZYcGZ*NDk2+4s7lFZwL&Zt29xoTlP)XYsO;T&}R8w!cPmW7sRZx}t|{S0}>2S$OQ9 z*62)ETc*j5)L9x8=?KHqx+ok$)!HBl%ATA%^Rrd8c<0ln7Mn)qwf$-pzs@Lg^*%tq z(vS6=oU%HRI>MAH=#yOWme=r`Xwz$tqOk-OaZSL)0y`D09orS_d zUTI%oH)vb04;X?&bU9)!d3d&9fEVM~KXsgUX-oHL*+Dfoff@Z$IayRr7n}pRrRO|Z z9x9=}$44k6(!>2s;^zqxnEVoV_nS|#5V6O1k7X^+IZ(qfmiN!Oi~-Vv3<47twP}T} z!pP;W#K732L+-Ghr=Fgd$*)7@(p!3n24yw3a9qxIE<9CooPbJ>%0;~uRXka$fMT0A~y w(Y@@#s3S|MMykf5>9R5nY5rVtfcfxLmn4S1n<;MlpT9R{d38votXa_i0Df`H5dZ)H literal 0 HcmV?d00001 diff --git a/ALAlertBannerDemo/ALAlertBannerDemo/images/4.png b/ALAlertBannerDemo/ALAlertBannerDemo/images/4.png new file mode 100644 index 0000000000000000000000000000000000000000..804869ef75c96bdd4b0f82b339d075e2b59eee8a GIT binary patch literal 7003 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