Garland View seamlessly transitions between multiple lists of content.

Overview

GARLAND VIEW

Garland View seamlessly transitions between multiple lists of content.


We specialize in the designing and coding of custom UI for Mobile Apps and Websites.

Stay tuned for the latest updates:


Twitter Carthage compatible codebeat badge Donate

Requirements

  • iOS 10.0
  • Xcode 9
  • Swift 4.0

Installation

You can install garland-view in several ways:

  • Add source files to your project.

pod 'garland-view'

github "Ramotion/garland-view"

Usage

Garland View

Garland view can be used directly or by subclassing GarlandViewController. In both variants you need to implement UICollectionViewDataSource and UICollectionViewDelegate protocols.

let nib = UINib(nibName: "CollectionCell", bundle: nil)
garlandCollection.register(nib, forCellWithReuseIdentifier: "Cell")
garlandCollection.delegate = self
garlandCollection.dataSource = self

Control can be user with or without header view. Use setupHeader(:UIView) to customize collection header. Use GarlandConfig to make your custom configuration.

Take a look at the Example project for an integration example.

πŸ—‚ Check this library on other language:

πŸ“„ License

Garland View is released under the MIT license. See LICENSE for details.

This library is a part of a selection of our best UI open-source projects.

If you use the open-source library in your project, please make sure to credit and backlink to https://www.ramotion.com/

πŸ“± Get the Showroom App for iOS to give it a try

Try this UI component and more like this in our iOS app. Contact us if interested.

Comments
  • bug on UserCardDismissAnimationController

    bug on UserCardDismissAnimationController

    when I use navagationController present UserCardViewController ok that's right ? so when go back ( dismiss) to ViewController I got black screen after animation completed

    ScreenRecording_07-03-2018 14-06-06.MP4.zip

    opened by adelbios 2
  • BUG: index out of range when calling cellSize[index] (GarlandPresentAnimationController)

    BUG: index out of range when calling cellSize[index] (GarlandPresentAnimationController)

    Hi Ramotion,

    When swiping from a collection view with more cells to a collection view with less cells, it crashes on this two lines in GarlandPresentAnimationController:

    snapshot.frame.size.width = cellSize[index].width
    snapshot.frame.size.height = cellSize[index].height
    

    It's caused by cellSize being populated in for cell in fromCollection.visibleCells{} instead of for cell in toCollection.visibleCells{} so that there is a mismatch between cellSize.count and visibleToSnapshots.count. When cellSize.count < visibleToSnapshots.count, the program crashes.

    Suggested fix: move cellSize.append(CGSize(width: cell.frame.width, height: cell.frame.height)) from for cell in fromCollection.visibleCells{} to for cell in toCollection.visibleCells{}.

    opened by gangfang 1
  • Issue with top card animation

    Issue with top card animation

    The white edges of the outgoing card look out from under the green fillets of the top card. On even columns, the avatar from the top card does not disappear

    https://cl.ly/090E1u3t0t0e

    opened by alexmik89 0
  • TabBar

    TabBar

    Hi.

    I'm using this library in my storyboard. Everything works fine except when I embedIn a TabBar.

    Exemple: I am using 3 view controllers as follow:

    • _mainVC which have the TabBar embedIn. root, tab1
    • secondVC which have a listview, tab2
    • thirdVC which is the target vc for the animation transition when click on a listview row._

    When I click a row on tab2, the animation to thirdVC is only alpha transition, they are fading each others. The image that goes from the row to the thirdVC doesn't works.

    If I add a button to the ViewController in tab1 with:

    let toVC = self.storyboard?.instantiateViewController(withIdentifier: "secondVC")
            present(toVC!, animated: true, completion: nil)
    

    When I click it, it show the secondVC, then when I click a row the animation works perfect.

    If I set the secondVC as Initial View Controller it bypasses the TabBar and it works.

    The problem is the fact the tabBar button doesn't instantiate the VCs when switching.. but I don't know how to fix this.

    ** UPDATE When I setup the storyboard to make the animation works correctly and I turn to FALSE let _ = toVC.view.snapshotView(afterScreenUpdates: true), It happen the same problem. Maybe the snapshotView dosent works with tabBar!?

    Thanks

    opened by Mindkind-Dev 0
  • Not allowed to be present & pushing doesn't work fine

    Not allowed to be present & pushing doesn't work fine

    Hi thanks for you're awesome library but there is a bug that we can't present viewController. it doesn't work and also for pushing with navigation controller gesture will be disable and we see some miss match frame for header

    opened by Mahdimm 0
Owner
Ramotion
UI Engineering, UI/UX Design and Front-End Development Agency
Ramotion
SamuraiTransition is an open source Swift based library providing a collection of ViewController transitions featuring a number of neat β€œcutting” animations.

SamuraiTransiton is a ViewController transition framework in Swift. It is an animation as if Samurai cut out the screen with a sword. transition types

hachinobu 273 Dec 29, 2022
API to make great custom transitions in one method

AZTransitions Make your modal transition with custom animation. AZTransitions helps you think about creativity, giving specific API methods. Visual Ex

Alexander 418 Aug 4, 2022
Chain multiple UIView animations without endlessly nesting in completion closures.

β›“ Chain multiple UIView animations without endlessly nesting in completion closures. Used in some of the more superfluous animations in the OK Video app.

Pim 78 Dec 26, 2022
Fortune spinning wheel library built using SwiftUI, supports dynamic content.

Fortune Wheel Fortune spinning wheel ?? library built using SwiftUI, supports dynamic content. Preview - Spin Wheel βš™οΈ CocoaPods Installation FortuneW

Sameer Nawaz 51 Dec 23, 2022
Cool wave like transition between two or more UICollectionView

CKWaveCollectionViewTransition This is a cool custom transition between two or more UICollectionViewControllers with wave-like cell animation. Could b

Cezary Kopacz 1.9k Oct 4, 2022
Create a smooth transition between any two SwiftUI Views

GZMatchedTransformEffect Create a smooth transition between any two SwiftUI Views. It is very similar to the built-in .matchedGeometryEffect() modifie

Gong Zhang 10 Nov 26, 2022
iOS framework for impressive transition animations between views.

CoreTransition iOS framework for impressive transition animations between views. Built using Swift, and supports a lot of animations to navigate to a

Ahmed Abdelkarim 4 Nov 17, 2022
Inspired by Fabric - Answers animation. Allows to "build" given view with pieces. Allows to "destroy" given view into pieces

ADPuzzleAnimation Whats inside Custom animation for UIView inspired by Fabric - Answers animation. Easy to use To create your first animation you need

Anton 126 Dec 25, 2022
ChainPageCollectionView A custom View with two level chained collection views and fancy transition animation

ChainPageCollectionView A custom View with two level chained collection views and fancy transition animation. Demo Requirements iOS 9.0+ Xcode 8 Insta

Yansong Li 775 Dec 7, 2022
A Swift library to take the power of UIView.animateWithDuration(_:, animations:...) to a whole new level - layers, springs, chain-able animations and mixing view and layer animations together!

ver 2.0 NB! Breaking changes in 2.0 - due to a lot of requests EasyAnimation does NOT automatically install itself when imported. You need to enable i

Marin Todorov 3k Dec 27, 2022
List a collection of items in a horizontally scrolling view. A scaling factor controls the size of the items relative to the center.

CAROUSEL List a collection of items in a horizontally scrolling view. A scaling factor controls the size of the items relative to the center. We speci

Ramotion 557 Dec 31, 2022
SwiftUI animated image view that works on iOS and layout just as SwiftUI.Image

SwiftUI.AnimatedImage SwiftUI animated image view that works on iOS and layout just as SwiftUI.Image Screen.Recording.2021-07-31.at.02.18.33.mov Insta

Marcin Krzyzanowski 50 Oct 14, 2022
A library of custom iOS View Controller Animations and Interactions.

RZTransitions is a library to help make iOS7 custom View Controller transitions slick and simple. Installation CocoaPods (Recommended) Add the followi

Rightpoint 1.9k Nov 20, 2022
An easy way to add a simple, shimmering effect to any view in an iOS app.

Shimmer Shimmer is an easy way to add a shimmering effect to any view in your app. It's useful as an unobtrusive loading indicator. Shimmer was origin

Meta Archive 9.4k Dec 26, 2022
CCMRadarView uses the IBDesignable tools to make an easy customizable radar view with animation

CCMRadarView CCMRadarView is a simple to use view that uses the new IBDesignable and IBInspectable features of XCode6 to easily configure the icon in

Carlos Compean 183 Sep 17, 2022
RippleEffectView - A Neat Rippling View Effect

RippleEffectView Not only Uber-like animated screen background. RippleEffectView inspired by RayWenderlich.com article How To Create an Uber Splash Sc

Alex Sergeev 318 Dec 13, 2022
Various view's effects for iOS, written in Swift. Allows you to animate views nicely with easy to use extensions

Various view's effects for iOS, written in Swift. Allows you to animate views nicely with easy to use extensions. Every animation is randomized. Currently supported animations:

Artur Rymarz 23 Aug 23, 2022
An easy way to add a shimmering effect to any view with just one line of code. It is useful as an unobtrusive loading indicator.

LoadingShimmer An easy way to add a shimmering effect to any view with just single line of code. It is useful as an unobtrusive loading indicator. Thi

Jogendra 1.4k Jan 6, 2023
Library for creating swipe actions for any SwiftUI View

SwipeActions Library for creating swipe actions for any SwiftUI View, similar to

Alexander Kraev 24 Dec 26, 2022