/AZExpandableIconListView

An expandable/collapsible view component written in Swift.

Primary LanguageSwiftMIT LicenseMIT

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.