It's a Swift Library to support Drop Down Menu in iOS
To run the example project, clone the repo, and run pod install
from the Example directory first.
- Simple UITextField Extension And simple to use , We can Access all properties of UITextField
- DropDown Search can be enabled or disabled
- Change background color of the List and the selected color as well
- Change the maximum height of the List and the height of each Row
The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift
compiler.
Once you have your Swift package set up, adding iOSDropDown as a dependency is as easy as adding it to the dependencies
value of your Package.swift
.
dependencies: [
.package(url: "https://github.com/jriosdev/iOSDropDown.git", .upToNextMajor(from: "0.4.0"))
]
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
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.
Just clone and add the following Swift files to your project:
- iOSDropDown.swfit
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]
// Image Array its optional
dropDown.ImageArray = [👩🏻🦳,🙊,🥞]
// The the Closure returns Selected Index and String
dropDown.didSelect{(selectedText , index ,id) in
self.valueLabel.text = "Selected String: \(selectedText) \n index: \(index)"
}
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]
// Image Array its optional
dropDown.ImageArray = [👩🏻🦳,🙊,🥞]
// The the Closure returns Selected Index and String
dropDown.didSelect{(selectedText , index ,id) in
self.valueLabel.text = "Selected String: \(selectedText) \n index: \(index)"
}
}
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
}
Custom filter fuction
// overridable function for filter action
func searchFilter(text: String, searchText: String) -> Bool {
// you can add custom filter fuctions as your need, like other than english ..etc
}
You can customizes 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
selectedIndex
:For preSelection of any of item in listarrowSize
: The Size of arrow . Default value is15
arrowColor
: The Color of arrow . Default value is.black
checkMarkEnabled
: The check Mark Enabled for selection of Row. Default value istrue
textColor
: You can change DropDown selected Text ColorsemanticContentAttribute
: Semantic attribute for RTL or LTRAll Other TextField Properties are available with DropDown
likealignment
,font
,textColor
,semanticContentAttribute
...etc
1.After Update the pod just do clean your buld folder
Product > Clean Build Folder .
Jishnu Raj T, jriosdev@gmail.com
iOSDropDown is available under the MIT license. See the LICENSE file for more info.