TagMenu 1.0.0

TagMenu 1.0.0

Maintained by Luciano Bohrer.



TagMenu 1.0.0

  • By
  • gabrielsilveiraa

TagMenu

Build Status Version License Platform

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Usage

Single Selection

let viewModel = TagMenuViewModel<String>(items: [
    SelectableListItem(value: "Item 1", selected: true),
    SelectableListItem(value: "Item 2"),
    SelectableListItem(value: "Item 3"),
    SelectableListItem(value: "Item 4")
],
title: "",
selection: .single)

let view = TagMenuView<String>(viewModel: viewModel)

Multiple Selection

let viewModel = TagMenuViewModel<String>(items: [
    SelectableListItem(value: "Item 1"),
    SelectableListItem(value: "Item 2"),
    SelectableListItem(value: "Item 3"),
    SelectableListItem(value: "Item 4")
],
title: "Select until 3 items",
selection: .multiple(max: 3))

let view = TagMenuView<String>(viewModel: viewModel)

Handling Selection Event

Subscribe the selectedItemsSubject to get the current selected values when a new item is selected/deselected.

var cancellable: Cancellable?

cancellable = viewModel.selectedItemsSubject.sink { (values) in
    print(values)
}

Customizing the view

Set TagMenuSettings custom parameters

let view = TagMenu<String>(viewModel: vm,
                           tagSettings: TagMenuSettings(highlightColor: .systemRed,
                                                        regularColor: .gray,
                                                        backgroundColor: .white,
                                                        cornerRadius: 8,
                                                        borderSize: 1))

Package

For Xcode Projects

File > Swift Packages > Add Package Dependency: https://github.com/lucianobohrer/TagMenu

For Swift Packages

Add a dependency in your your Package.swift

.package(url: "https://github.com/lucianobohrer/TagMenu.git", from: "0.1.0"),

CocoaPods

TagMenu is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'TagMenu'

Authors

License

TagMenu is available under the MIT license. See the LICENSE file for more info.