Skip to content

JanGorman/SwiftMessageBar

Repository files navigation

Carthage compatible Version License Platform

SwiftMessageBar

An iOS message bar, written in Swift

image

Requirements

  • iOS 9.0+
  • Swift 5
  • Xcode 10.2+

Installation

You can use Carthage:

github "JanGorman/SwiftMessageBar"

or CocoaPods:

pod 'SwiftMessageBar'

Usage

The included sample code shows how to use the message bar. There are three different message types:

enum MessageType {
    case error, success, info
}

To display a message:

import SwiftMessageBar

@IBAction func showSuccess(sender: AnyObject) {
    SwiftMessageBar.showMessage(withTitle: "Success", message: "The Message Body", type: .success)
}

You can customize the duration of each message and also pass in a tap handler closure that is executed when a user taps on the message.

To customize the look of the messages, create a custom Config and set it on the shared messagebar. You can adjust colors, fonts as well as custom images. Config comes with a Builder class for easy configuration. For example:

let config = SwiftMessageBar.Config.Builder()
    .withErrorColor(.green)
    .withSuccessColor(.red)
    .withTitleFont(.boldSystemFont(ofSize: 30))
    .withMessageFont(.systemFont(ofSize: 17))
    .build()
SwiftMessageBar.setSharedConfig(config)

Haptic Feedback

Per default SwiftMessageBar provides the user with haptic feedback using UINotificationFeedbackGenerator. You can opt out of this behaviour by disabling it in the configuration:

let config = SwiftMessageBar.Config.Builder()
    .withHapticFeedbackEnabled(false)
    .build()
SwiftMessageBar.setSharedConfig(config)

Licence

SwiftMessageBar is released under the MIT license. See LICENSE for details