iOS Drop Down Menu With Search And Other Awesome Customization
iOS DropDown
It's a Swift Library to support Drop Down Menu in iOS.
Drop Down With Search
It's a Swift Library to support Drop Down Menu in iOS
Support Search and Return Correct index
Customizing
hideOptionWhenSelect = false
Example
To run the example project, clone the repo, and run pod install
from the Example directory first.
Features
- Simple UITextField Extension And simple to use , We can Access all properties of UITextField
- DropDown Search can enable or disable
- Change color of List background and selected color
- Change Maximum Hieght of List and Height of each Row
Installation
CocoaPods
Use CocoaPods.
iOSDropDown is available through CocoaPods. To install
it, simply add the following line to your Podfile:
- Add
pod 'iOSDropDown'
to your Podfile. - Install the pod(s) by running
pod install
. - Add
iOSDropDown.framework
in Build Phases > Link Binary with Libraries - Add
import iOSDropDown
in the .swift files where you want to use it
Carthage
Use Carthage.
- Create a file name
Cartfile
. - Add the line
github "jriosdev/iOSDropDown"
. - Run
carthage update
. - Drag the built
iOSDropDown.framework
into your Xcode project.
Manual
Just clone and add the following Swift files to your project:
- iOSDropDown.swfit
Basic usage ✨
StoryBoard Method
Simply add UITextField to Your ViewCOntroller And Connect @IBOutlet - DropDown Class
@IBOutlet weak var dropDown : DropDown!
// The list of array to display. Can be changed dynamically
dropDown.optionArray = ["Option 1", "Option 2", "Option 3"]
//Its Id Values and its optional
dropDown.optionIds = [1,23,54,22]
// The the Closure returns Selected Index and String
dropDown.didSelect{(selectedText , index ,id) in
self.valueLabel.text = "Selected String: \(selectedText) \n index: \(index)"
}
OR
Code Method
let dropDown = DropDown(frame: CGRect(x: 110, y: 140, width: 200, height: 30)) // set frame
// The list of array to display. Can be changed dynamically
dropDown.optionArray = ["Option 1", "Option 2", "Option 3"]
// Its Id Values and its optional
dropDown.optionIds = [1,23,54,22]
// The the Closure returns Selected Index and String
dropDown.didSelect{(selectedText , index ,id) in
self.valueLabel.text = "Selected String: \(selectedText) \n index: \(index)"
}
}
Other Options
Actions
dropDown.showList() // To show the Drop Down Menu
dropDown.hideList() // To hide the Drop Down Menu
Closures
listWillAppear() {
//You can Do anything when iOS DropDown willAppear
}
listDidAppear() {
//You can Do anything when iOS DropDown listDidAppear
}
listWillDisappear() {
//You can Do anything when iOS DropDown listWillDisappear
}
listDidDisappear() {
//You can Do anything when iOS DropDown listDidDisappear
}
Customize iOSDropDown ?
You can customize these properties of the drop down:
isSearchEnabled
: You can Enable or Disable on DropDown .Default value Istrue
hideOptionsWhenSelect
: This option to hide the list when click option one item. Default value istrue
selectedRowColor
: Color of selected Row item in DropDown Default value is.cyan
rowBackgroundColor
: Color of DropDown Default value is.white
listHeight
: The maximum Height of of List. Default value is150
rowHeight
: The Height of of List in the List. Default value is30
Alingment and Fonts are same as TextField You Can change it