AGPushNote

Custom view for easily displaying in-app push notification that feels like default iOS banners.

172
38
Objective-C

AGPushNote

Custom view for easily displaying in-app push notification that feels like default iOS banners.

  • Will look like iOS7 on iOS7 and will (try to) look like iOS6 on iOS6.
  • Both block and protocol ways are available to control the action of tapping the message and showing/dismissing the view.
  • Automatic handling for more than 1 push - Try calling showWithNotificationMessage: repeatedly to see how this works (Shown in the example app).
  • Action block for tapping the message can be changed at any time - even after the view is already on screen! (Use setMessageAction: to set it).
  • Optionaly hide the view after X seconds (Default is 5), remove comment in code the make this work…

Usage

This is a one liner. Simply import and call this method to show a message:

#import "AGPushNoteView.h"
.
.
[AGPushNoteView showWithNotificationMessage:@"John Doe sent you a message!"];

To set the action for when the user tap the message, call:

[AGPushNoteView setMessageAction:^(NSString *message) {
        // Do something...
    }];
  • Since AGPushNote can handle showing multiple notifications, the message object in the block will be the message the user tapped on.

More Stuff

To use the delegate methods call:

id <AGPushNoteViewDelegate> someObj...
[AGPushNoteView setDelegateForPushNote:someObj];

To use the timer to auto hide the view after showing it, finds this line and remove the comment from it:

@implementation AGPushNoteView
.
.
PUSH_VIEW.closeTimer = [NSTimer...

The default 5 seconds delay is set in a define in the head of the .m file:

#define CLOSE_PUSH_SEC 5
.
.
@interface AGPushNoteView() ...

Things to see, stuff to do, places to go

  • Add cool parallax effect to the iOS7 view (Supposed to be easy, less easy when subclassing UIToolbar instead UIView…).
  • Add option to put small icon next to the message.
  • Add option to switch the X button to the right side.

Credits

AGNoteView was created by Aviel Gross in the development of TLV Airport