AZExpandableIconListView
An expandable/collapsible view component written in Swift.
Install / Use
/learn @Azuritul/AZExpandableIconListViewREADME
AZExpandableIconListView
An expandable/collapsible UIView that holds an array of UIImageView. Something like accordion. An interesting practice with auto layout and animation.
Screenshots

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.
imageSpacingThe space between icons. Default is 4.onExpandedThe method to be called when the menu is expanded. Default is null.onCollapsedThe 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
- Avatar icon used in README's screenshot is Designed by Skydesign - Freepik.com
Author
Chris Wu (Azuritul), azuritul@gmail.com
License
AZExpandableIconListView is available under the MIT license. See the LICENSE file for more info.
Related Skills
node-connect
339.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
