A simple style messages/notifications, in Swift

Demo

Example

To show notifications use the following code:

self.showMessage("Something success", type: .success)

To display a notice on a view:

view.showMessage("Something success", type: .success)

To hide a notification manually:

self.hideMessage()

Options (Current setting is default value):

  • type : success / error / warning / info
  • animation : slide(.normal) / slide(.distance(50)) / fade
  • position : top / bottom
  • textAlignment : topLeft / topCenter / topRight / left / center / right / bottomLeft / bottomCenter / bottomRight

self.showMessage("String or NSAttributedString", type: .success, options: [
    .accessibilityIdentifier(nil),
    .animations([.slide(.normal)]),
    .animationDuration(0.3),
    .autoHide(true),
    .autoHideDelay(3.0),
    .cornerRadius(0.0),
    .height(44.0),
    .hideOnTap(true),
    .handleTap({}),
    .isInsideSafeAreaInsets(true),
    .margin(.zero),
    .padding(.init(top: 10, left: 30, bottom: 10, right: 30)),
    .position(.top),
    .textAlignment(.center),
    .textColor(.white),
    .textNumberOfLines(1),
])

Font / Background Color

To set custom fonts and background colors in the following ways:

GSMessage.font = UIFont.boldSystemFont(ofSize: 14)
GSMessage.successBackgroundColor = UIColor(red: 142.0/255, green: 183.0/255, blue: 64.0/255,  alpha: 0.95)
GSMessage.warningBackgroundColor = UIColor(red: 230.0/255, green: 189.0/255, blue: 1.0/255,   alpha: 0.95)
GSMessage.errorBackgroundColor   = UIColor(red: 219.0/255, green: 36.0/255,  blue: 27.0/255,  alpha: 0.70)
GSMessage.infoBackgroundColor    = UIColor(red: 44.0/255,  green: 187.0/255, blue: 255.0/255, alpha: 0.90)

Requirements

Master

  • iOS 8.0+
  • Xcode 11+ (Swift 5.x)

1.7.1

  • iOS 8.0+
  • Xcode 10.0+ (Swift 4.2)

1.5.1

  • iOS 8.0+
  • Xcode 9.0+ (Swift 4.0)

1.3.5

  • iOS 8.0+
  • Xcode 8.0+ (Swift 3.x)

1.2.4

  • iOS 7.0+
  • Xcode 7.3+ (Swift 2.x)

Installation

CocoaPods:

In your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

pod "GSMessages"

And in your *.swift:

import GSMessages

Carthage:

In your Cartfile:

github "wxxsw/GSMessages"

And in your *.swift:

import GSMessages

License

GSMessages is available under the MIT license. See the LICENSE file for more info.

GitHub

https://github.com/wxxsw/GSMessages