Git Product home page Git Product logo

iosdropdown's Introduction

iOS DropDown

Version Cocoapods Swift 4.0 License Platform Star

Drop Down With Search for iOS

It's a Swift Library to support Drop Down Menu in iOS

Watch Video on :

Support Search and Return Correct index

Customizing

hideOptionWhenSelect = false

Example

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

Features

  1. Simple UITextField Extension And simple to use , We can Access all properties of UITextField
  2. DropDown Search can enable or disable
  3. Change color of List background and selected color
  4. Change Maximum Hieght of List and Height of each Row

Installation

CocoaPods

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

  1. Add pod 'iOSDropDown' to your Podfile.
  2. Install the pod(s) by running pod install.
  3. Add iOSDropDown.framework in Build Phases > Link Binary with Libraries
  4. Add import iOSDropDown in the .swift files where you want to use it

Carthage

Use Carthage.

  1. Create a file name Cartfile.
  2. Add the line github "jriosdev/iOSDropDown".
  3. Run carthage update.
  4. Drag the built iOSDropDown.framework into your Xcode project.

Manual

Just clone and add the following Swift files to your project:

  • iOSDropDown.swfit

Basic usage ✨

StoryBoard Method

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)"
}

OR

Code Method

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)"
    }
}

Other Options

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
}

Customize iOSDropDown πŸ–Œ

You can customize 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 list
  • Alingment and Fonts are same as TextField You Can change it
  • arrowSize: 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

Note :

1.After Update the pod just do clean your buld folder 
      Product > Clean Build Folder . 

Author

✨✨If you like my project please Give me a STAR on Github✨✨

If this project help you to reduce develop time, can you offer a cup of coffee :)

paypal

Jishnu Raj T, [email protected] Contact

License

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

iosdropdown's People

Contributors

jriosdev avatar awaismubeen avatar arunvalluthadam avatar rahul-surendran avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.