A way to quickly add a notification icon to a UIView
Code:
RKNotificationHub* hub = [[RKNotificationHub alloc]initWithView:yourView]; // sets the count to 0
[hub increment]; // increments the count to 1, making the notification visible
###Pod
pod 'RKNotificationHub'
[hub increment];
-(void)increment;
-(void)incrementBy:(int)amount;
-(void)decrement;
-(void)decrementBy:(int)amount;
-(void)setCount:(int)newCount; //%%% set to a certain number
Combine Actions!
[hub increment];
[hub pop];
//%%% COLOR
[hub setCircleColor:[UIColor colorWithRed:0.98 green:0.66 blue:0.2 alpha:1]
labelColor:[UIColor whiteColor]];
//%%% CIRCLE FRAME
[hub setCircleAtFrame:CGRectMake(-10, -10, 30, 30)]; //frame relative to the view you set it to
//%%% MOVE FRAME
[hub moveCircleByX:-5 Y:5]; // moves the circle 5 pixels left and down from its current position
//%%% SHOW CIRCLE IN VIEW CORNER
[hub setCircleAtCorner:TopLeft inView: view] //TopLeft, TopRight, BottomLeft, BottomRight
//%%% CIRCLE SIZE
[hub scaleCircleSizeBy:2]; // doubles the size of the circle, keeps the same center
//%%% BLANK BADGE
[hub hideCount];
/* shoutout to imkevinxu for this suggestion */
###TROUBLESHOOTING Notification isn't showing up!
- If the hub value is < 1, the circle hides. Try calling [increment]
- Make sure the view you set the hub to is visible (i.e. did you call [self.view addSubview: yourView]?)
- Make sure you didn't call [hideCount] anywhere. Call [showCount] to counter this
It isn't incrementing / decrementing properly!
- I've written it so that any count < 1 doesn't show up. If you need help customizing this, reach out to me
- Calling [decrement] will never bring the count below 0, but calling [decrementBy:] or [setCount:] will allow negative values (negative values still won't show up)
The circle is in a weird place
- If you want to resize the circle, use [scaleCircleSizeBy:]. 0.5 will give you half the size, 2 will give you double
- If the circle is just a few pixels off, use [moveCircleByX: Y:]. This shifts the circle by the number of pixels given
- If you want to manually set the circle, call [setCircleAtFrame:] and give it your own CGRect
Something else isn't working properly
- Send me a tweet @cwRichardKim with #RKNotificationHub so that other people can search these issues too
- Use github's issue reporter on the right
- Send me an email [email protected] (might take a few days)
- 1.0.0 first release with cocoapod
- 1.0.1 cocoapod allows iOS 7.0
- 1.0.2 added "hideCount", "showCount", and "count" methods, allowing indeterminate badges with no number