It's a Swift Library to support Drop Down Menu in iOS
Watch Video on :
To run the example project, clone the repo, and run pod install
from the Example directory first.
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:
pod 'iOSDropDown'
to your Podfile.pod install
.iOSDropDown.framework
in Build Phases > Link Binary with Librariesimport iOSDropDown
in the .swift files where you want to use itUse Carthage.
Cartfile
.github "jriosdev/iOSDropDown"
.carthage update
.iOSDropDown.framework
into your Xcode project.Just clone and add the following Swift files to your project:
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 Is true
hideOptionsWhenSelect
: This option to hide the list when click option one item. Default value is true
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 is 150
rowHeight
: The Height of of List in the List. Default value is 30
selectedIndex
:For preSelection of any of item in listarrowSize
: The Size of arrow . Default value is 15
arrowColor
: The Color of arrow . Default value is .black
checkMarkEnabled
: The check Mark Enabled for selection of Row. Default value is true
textColor
: You can change DropDown selected Text ColorsemanticContentAttribute
: Semantic attribute for RTL or LTRAll Other TextField Properties are available with DropDown
like alignment
,font
,textColor
,semanticContentAttribute
...etc1.After Update the pod just do clean your buld folder
Product > Clean Build Folder .
Jishnu Raj T, [email protected]
iOSDropDown is available under the MIT license. See the LICENSE file for more info.