aze

AZExpandableIconListView

An expandable/collapsible view component written in Swift.

Showing:

Popularity

Downloads/wk

0

GitHub Stars

285

Maintenance

Last Commit

2yrs ago

Contributors

0

Package

Dependencies

0

License

MIT

Categories

Readme

AZExpandableIconListView

Build Status Version License Platform Language

An expandable/collapsible UIView that holds an array of UIImageView. Something like accordion. An interesting practice with auto layout and animation.

Screenshots

expandable

Requirements

  • iOS 11 or above
  • Xcode 11 or above
  • Swift 5

Demo Project

To run the example project, clone the repo with git clone https://github.com/Azuritul/AZExpandableIconListView.git, and run pod install from the Example directory first.

Usage

Initialize the view with frame and an array of images, for example:

let expandable = AZExpandableIconListView(frame: CGRectMake(4, 30, UIScreen.mainScreen().bounds.size.width - 20, 70), images: [image1, image2, image3])
view.addSubview(expandable)

Notice that the width and height of the icons in the view would always be 80% of the containing view's height.

Configurable options

Currently AZExpandableIconListView can be customized with the following properties. More will come in the future.

  • imageSpacing The space between icons. Default is 4.
  • onExpanded The method to be called when the menu is expanded. Default is null.
  • onCollapsed The method to be called when the menu is collapsed. Default is null.

Installation

AZExpandableIconListView is available through CocoaPods. To install it, simply add the following line to your Podfile:

use_frameworks!
pod 'AZExpandableIconListView'

Version

  • 1.0.1
    • Fix lint warning
  • 1.0.0
    • Updated for Swift 5
  • 0.2.0
    • Updated for Swift 3
  • 0.1.1
    • Updated README
  • 0.1.0
    • Initial version

Credit

Author

Chris Wu (Azuritul), azuritul@gmail.com

License

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

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100