This is a simple dropdown that can be easily integrated into your app layout and customize to suit your design.
So you just need to import this library:
import SimpleDropdown
create a dropdown instance in your code:
let dropdownView = DropdownView(options: ["Option 1", "Option 2", "Option 3"], customCellType: CustomDropdownCell.self, customCellIdentifier: "cell", customHeaderView: CustomDropdownView())
make some constraints and use it.
You can also change the menu cells (UITableViewCell) to your own custom ones and configure them through the configurator function:
override func viewDidLoad() {
super.viewDidLoad()
self.dropdownView.cellConfigurator = { cell, option in
if let customCell = cell as? CustomDropdownCell {
customCell.configure(
with: option,
icon: UIImage(systemName: "star"),
subtitle: "Subtitle for \(option)"
)
}
}
}
You can do the same with the header (UIView):
override func viewDidLoad() {
super.viewDidLoad()
self.dropdownView.headerConfigurator = { customView, option in
if let view = view as? CustomDropdownView {
view.set(title: option)
}
}
}
To remove or change the selection in the dropdown from the outside in your code you can call:
self.dropdownView.updateCurrentOption(option: "Some placeholder")
The header configurator is subscribed to the current option and will update the header immediately.
iOS 15+. Swift 5.5.
SimpleDropdown is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "SimpleDropdown"
SimpleDropdown is available through Carthage. To install it, simply add the following line to your Cartfile:
github "idapgroup/SimpleDropdown"
SimpleDropdown is available under the New BSD license. See the LICENSE file for more info.