Skip to content

Releases: SwiftKickMobile/SwiftMessages

Swift 4.2

20 Sep 14:12
Compare
Choose a tag to compare
6.0.0

Swift 4.2

Fix Demo app

03 Sep 15:57
Compare
Choose a tag to compare

Fixes

  • Remove debug code that broke the view controller's section of the Demo app.

View Controllers

29 Aug 14:15
Compare
Choose a tag to compare

Breaking Changes

  • Removed support for iOS 8.

Features

  • Add support for modal view controller presentation using SwiftMessagesSegue custom segue subclass. Try it out in the "View Controllers" section of the Demo app. In addition to the class documentation, more can be found in the View Controllers readme.
  • Update nib files to be more visually consistent with iPhone X:
    • Introduce CornerRoundingView, which provides configurable corner rounding using squircles (the smoother method of rounding corners that you see on app icons). Nib files that feature rounded corners have their backgroundView assigned to a CornerRoundingView. CornerRoundingView provides a roundsLeadingCorners option to dynamically round only the leading corners of the view when presented from top or bottom (a feature used for the tab-style layouts).
    • Increased the default corner radius to 20. Corner radius can be changed by either modifying the nib file or
  • Reworked the MarginAdjustable to improve configurability of layout margins.
  • Add rubber-banding to the interactive dismissal gesture. Rubber banding is automatically applied for views where backgroundView is inset from the message view's edges.
  • Added showDuration and hideDuration properties to the Animator protocol (with default implementation that returns nil). These values enable animations to work for view controller presentation.

Fixes

  • #202 bodyLabel should set textAlignment to .natural
  • #200 Automatic Presentation Context Broken
  • Fix default value of TopBottomAnimation.closePercentThreshold

Whoops

25 May 14:15
Compare
Choose a tag to compare

Bug Fixes

  • Fix #191 Prevent usage of UIApplication.shared when building for extensions

Improvements

  • #192 Add a way to test compilation with app extension

Support Extensions

23 May 21:39
Compare
Choose a tag to compare

Features

  • #183 Added iOS app extension support at compile time.

Bug Fixes

  • Fix #185 Incorrect margin adjustments in landscape
  • Fix #188 Physics animation visual glitch

Swift 4.1

02 Apr 19:11
Compare
Choose a tag to compare

4.1.2

Features

  • Updates for Swift 4.1
  • #164 Added an optional windowViewController property to SwiftMessages.Config for supplying a custom subclass of WindowViewController.

Bug Fixes

  • Custom presentation styles using TopBottomAnimation now display properly under top and bottom bars.

4.1.0

15 Nov 14:45
Compare
Choose a tag to compare

Features

  • Fix #134 add support for CenterAnimation displayed on top or bottom instead of center (renamed to PhysicsAnimation).

Fixes

  • Fix #128 move icons out of asset catalog to prevent mysterious crash
  • Fix #129 adjust layout margins on orientation change to preserve layout when iOS hides status bar in landscape.
  • Fix #131 by always completing hide/show animations if application isn't active.

iOS 11 and iPhone X

21 Sep 00:26
Compare
Choose a tag to compare

Features

  • Swift 4.0 syntax

  • Added support for iOS 11 and iPhone X. From the readme:

    SwiftMessages 4 supports iOS 11 out-of-the-box with built-in support for safe areas. To ensur that message view layouts look just right when overlapping safe areas, views that adopt the MarginAdjustable protocol (like MessageView) will have their layout margins automatically adjusted by SwiftMessages. However, there is no one-size-fits-all adjustment, so the following properties were added to MarginAdjustable to allow for additional adjustments to be made to the layout margins:

    public protocol MarginAdjustable {
        ...
        /// Safe area top adjustment in iOS 11+
        var safeAreaTopOffset: CGFloat { get set }
        /// Safe area bottom adjustment in iOS 11+
        var safeAreaBottomOffset: CGFloat { get set }
    }

    If you're using using custom nib files or view classes and your layouts don't look quite right, try adjusting the values of these properties. BaseView (the super class of MessageView) declares these properties to be @IBDesignable and you can find sample values in the nib files included with SwiftMessages.

Bug Fixes

  • Fix #100 memory leak.
  • Change Layout enum capitalization to current Swift conventions.

3.5.1: Fix nib file class reference

12 Sep 15:20
Compare
Choose a tag to compare

Bug Fixes

  • Undo change that broke MessageView class reference on nib files copied out of the SwiftMessages framework.

3.5.0

06 Sep 14:27
Compare
Choose a tag to compare

Features

  • Added SwiftMessages.hideCounted(id:) method of hiding. The counted method hides when the number of calls to show() and hideCounted(id:) for a
    given message ID are equal. This can be useful for messages that may be
    shown from multiple code paths to ensure that all paths are ready to hide.

    Also added SwiftMessages.count(id:) to get the current count and SwiftMessages.set(id:count:) to set the current count.

  • Added ways to retrieve message views currently being shown, hidden, or queued to be shown.

    // Get a message view with the given ID if it is currently 
    // being shown or hidden.
    if let view = SwiftMessages.current(id: "some id") { ... }
    
    // Get a message view with the given ID if is it currently 
    // queued to be shown. 
    if let view = SwiftMessages.queued(id: "some id") { ... }
    
    // Get a message view with the given ID if it is currently being
    // shown, hidden or in the queue to be shown.
    if let view = SwiftMessages.currentOrQueued(id: "some id") { ... }

Bug Fixes

  • Fix #116 for message views that don't adopt the Identifiable protocol by using the memory address as the ID.
  • Fix #113 MessageView not hiding
  • Fix #87 Support manual install