A simple and elegant text picker for iOS (UIKit) written in Swift

MFTextPicker

A simple and elegant text picker for iOS (UIKit) written in Swift.

Features

  • Very simple calling and selection get back.
  • No others helper needed to show/present popup.
  • No hassle to push and present view-controller
  • Easy customizable.

Usage

On App Launch

Accorss the whole app, if your all popup looks same, then it’s recommneded to set following values in AppDelegate’s didFinishLaunchingWithOptions function or your home/landing viewcontroller’s viewDidLoad method.

import MFTextPicker

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    
        MFTextPicker.shared.defaultColor = .white
        MFTextPicker.shared.defaultTintColor = .black

        /// Optional
        //MFTextPicker.shared.defaultHighlightColor = .systemBlue
        //MFTextPicker.shared.defaultSeparatorColor = .lightGray

        .....
    }

    .....
    .....
}
Show from anywhere

import MFTextPicker


@IBAction func showDesignation(){

    MFTextPicker.show(designations, title: "Select Designation", index: selectedIndex) { index, text in
        if let index {
            // hold the index to pass further picker show
            self.selectedIndex = index
        }
    }
}

Customize picker

In some places if you want to set colors as you wish, then call the config() func before calling the show() func.

N.B.: After Picker got dismissed you should call the reset() func.

import MFTextPicker


@IBAction func showDesignation(){

    let color = UIColor(red: 253.0/255.0, green: 243.0/255.0, blue: 208.0/255.0, alpha: 1.0)

    MFTextPicker.config(color: color, tintColor: .black, highlightColor: .systemRed)

    MFTextPicker.show(designations, title: "Select Designation", index: selectedIndex) { index, text in
        if let index {
            self.selectedIndex = index
        }
            
        MFTextPicker.shared.reset()
    }
}

For more example you can clone this repo and look at the example app.

Installation

Swift Package Manager

Add it to the dependencies value of your Package.swift.:

dependencies: [
.package(url: "https://github.com/mamun344/MFTextPicker.git", from: "version-tag")
]

Contribution

Users are encouraged to become active participants in its continued development — by fixing any bugs that they encounter, or by improving the documentation wherever it’s found to be lacking.

If you wish to make a change, open a Pull Request — even if it just contains a draft of the changes you’re planning, or a test that reproduces an issue — and we can discuss it further from there.

GitHub

View Github