Giter Club home page Giter Club logo

ismessages's Introduction

ISMessages

Version CocoaPods GitHub license

This is simple extension for presenting system-wide notifications from top/bottom of device screen.

Requirements

  • Requires iOS 8.2 or later
  • Requires Automatic Reference Counting (ARC)

Features

  • Simple use actions
  • Call from anywhere in app

Installation

CocoaPods

To install ISMessages using CocoaPods, please integrate it in your existing Podfile, or create a new Podfile:

target 'MyApp' do
  pod 'ISMessages'
end

Then run pod install.

Manual

Add ISMessages folder to your project

Usage

#import <ISMessages/ISMessages.h>

Presenting notification

All messages can simply presented without customization and callback action via static method call:

[ISMessages showCardAlertWithTitle:@"This is your title!" 
            message:@"This is your message!"  
            duration:3.f 
            hideOnSwipe:YES 
            hideOnTap:YES 
            alertType:ISAlertTypeSuccess 
            alertPosition:ISAlertPositionTop 
	    	didHide:^(BOOL finished) {
               NSLog(@"Alert did hide.");
            }];

Message with customization and callback action:

ISMessages* alert = [ISMessages cardAlertWithTitle:@"This is custom alert with callback"
                                message:@"This is your message!!"
                                iconImage:[UIImage imageNamed:@"Icon-40"]
                                duration:3.f
                                hideOnSwipe:YES
                                hideOnTap:YES
                                alertType:ISAlertTypeCustom
                                alertPosition:ISAlertPositionTop];
				
alert.titleLabelFont = [UIFont boldSystemFontOfSize:15.f];
alert.titleLabelTextColor = [UIColor blackColor];

alert.messageLabelFont = [UIFont italicSystemFontOfSize:13.f];
alert.messageLabelTextColor = [UIColor whiteColor];

alert.alertViewBackgroundColor = [UIColor colorWithRed:96.f/255.f 
					  green:184.f/255.f 
					  blue:237.f/255.f 
					  alpha:1.f];

[alert show:^{
     NSLog(@"Callback is working!");
} didHide:^(BOOL finished) {
     NSLog(@"Custom alert without image did hide.");
}];				

Messages can be displayed from any location in app, even not associated with UI.

Hiding Messages

Notifications will hidden automatically after your duration or using static method

[ISMessages hideAlertAnimated:YES];

Also you can just tap/swipe {on} message to hide it.

Author

Ilia

License

Usage is provided under the MIT License. See LICENSE for full details.

ismessages's People

Contributors

hilalbaig avatar ikorich avatar ilyainyushin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ismessages's Issues

DidHide event

A 'DidHide' event would also me very helpful if one wnats to display multiple messages one after the other... Thanks! :)

Tap event

Hi, it's nice control! Thanks!
What about tap event?

Support bottom location

It would be cool if we could specify where the message should be displayed: top or bottom...

Different callback for tap/swipe

We are having an issue where the didHide callback is being called after the duration timeout so we are unsure if that took place, or if the user tap/swipe the notification. Can you add support to be informed that the user tapped/swiped the notification oppose to it just disappearing after the allotted duration?

Thanks!

Icon nil

Hi,

you should consider testing iconImage in the initCardAlertWithTitle function.
self.iconImageSize = iconImage==nil?CGSizeZero:CGSizeMake(35.f, 35.f);

Like this the notification can have no image and full width texts.

iPhone X appearance problem

If displayed at the top or at the bottom, messages do show up in the safe areas on iPhone X. Any way to fix that, i.e. make it aware of the safe area layout? Thanks.

Invalid CFBundleSupportedPlatforms

I had trouble publishing an app using this (via the cocoapod) to the app store. Got an 'invalid CFBundleSupportedPlatforms' error—it was using iPhoneSimulator not iPhoneOS somehow. I fixed it by manually editing a .plist that xcode generated after the build, but there's probably a better way?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.