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.
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.
link |
Stars: 626 |
Last commit: 3 weeks ago |
iOS 15 update Semantic attribute added You can add now customs filter function
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics