Popularity
0.2
Stable
Activity
4.7
Growing
4
1
0

Description

A perfect option picker. Great for navigation. Simple to use.

Try it out with @fermoya's package SwiftUIPager!

Swift Package Manager

SwiftUISelector is available through Swift Package Manager.

Add it to an existing Xcode project as a package dependency:

From the File menu, select Swift Packages › Add Package Dependency… Enter "https://github.com/p-larson/SwiftUISelector" into the package repository URL text field or

Copy and Paste SwiftUIPager.swift into your project!

Programming language: Swift
Tags: UI     Menu     iOS     Picker     Swift     SwiftUI    

SwiftUISelector alternatives and similar libraries

Based on the "Menu" category.
Alternatively, view SwiftUISelector alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of SwiftUISelector or a related project?

Add another 'Menu' Library

README

SwiftUISelector

A perfect option picker. Great for navigation. Simple to use.

Try it out with @fermoya's package SwiftUIPager!

Swift Package Manager

SwiftUISelector is available through Swift Package Manager.

Add it to an existing Xcode project as a package dependency:

  1. From the File menu, select Swift Packages › Add Package Dependency…
  2. Enter "https://github.com/p-larson/SwiftUISelector" into the package repository URL text field

or

Copy and Paste SwiftUIPager.swift into your project!

Features :sparkles:

  • Smooth Selection
  • User Control
  • Dynamic Options
  • Simple Animations

Requirements

  • iOS 14, macOS 10.15
  • Swift 5.3

Initialization

Important to note:

SelectorView<Option, OptionView>: View where Option: Hashable, OptionView: View
  1. Use Strings for Options (Intended Initializer)

    // SelectorView(selectedOption: Binding<Int>, options: [String])
    SelectorView(
    selectedOption: $selectedOption,
    options: ["Classial", "Star", "Zodiac", "Text Art"]
    )
    
  2. Custom Options and Option View. (This is to give you a lot of freedom to make the SelectorView fit your needs)

/*
    SelectorView(
        selectedOption: Binding<Int>, 
        options: [Option], 
        @ViewBuilder content: @escaping (Option) -> OptionView
    )
 **/
SelectorView(selectedOption: $selectedOption, options: [1, 2, 3, 4]) { (option) in
    Text(option.description)
        .italic()
        .padding()
        .background(
            Rectangle()
            .fill(Color.clear)
            .border(Color.black, width: 2)
            .padding(.bottom, 4)
        )
}
.font(
    .system(
        size: 24,
        weight: Font.Weight.black,
        design: Font.Design.monospaced
    )
)

License

I'm not good with legal stuff, use my code as you wish, feel free to keep the credit tag in the code, idk.

Open Source, do what ever you want. Maybe follow me on Instagram I guess.


*Note that all licence references and agreements mentioned in the SwiftUISelector README section above are relevant to that project's source code only.