Giter VIP home page Giter VIP logo

imagerow's Introduction

Build status Platform iOS Swift 4 compatible Carthage compatible CocoaPods compatible License: MIT

By Xmartlabs SRL.

Introduction

ImageRow is a Eureka custom row that allows us to take or choose a picture.

Usage

import ImageRow
import Eureka

class ViewController: FormViewController {

    override func viewDidLoad() {
        super.viewDidLoad()


        form +++ Section()
                <<< ImageRow() { row in
                    row.title = "Image Row 1"
                    row.sourceTypes = [.PhotoLibrary, .SavedPhotosAlbum]
                    row.clearAction = .yes(style: UIAlertAction.Style.destructive)
                }
             +++
                Section()
                <<< ImageRow() {
                    $0.title = "Image Row 2"
                    $0.sourceTypes = .PhotoLibrary
                    $0.clearAction = .no
                }
                .cellUpdate { cell, row in
                    cell.accessoryView?.layer.cornerRadius = 17
                    cell.accessoryView?.frame = CGRect(x: 0, y: 0, width: 34, height: 34)
                }
             +++
                 Section()
                    <<< ImageRow() {
                        $0.title = "Image Row 3"
                        $0.sourceTypes = [.PhotoLibrary, .SavedPhotosAlbum]
                        $0.clearAction = .yes(style: .default)
                    }
    }
}

You must add the NSPhotoLibraryUsageDescription and NSCameraUsageDescription keys to your info.plist to use the Photo Library and camera. For more information, take a look at apple documentation.

Requirements

  • iOS 9.3+
  • Xcode 10.2+
  • Eureka ~> 5.0

Getting involved

  • If you want to contribute please feel free to submit pull requests.
  • If you have a feature request please open an issue.
  • If you found a bug or need help please check older issues, FAQ before submitting an issue..

Before contribute check the CONTRIBUTING file for more info.

If you use ImageRow in your app We would love to hear about it! Drop us a line on twitter.

Examples

Follow these 3 steps to run Example project: Clone ImageRow repository, run carthage update from project root folder, open ImageRow workspace and run the Example project.

You can also experiment and learn with the ImageRow Playground which is contained in ImageRow.workspace.

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects.

To install ImageRow, simply add the following line to your Podfile:

pod 'ImageRow', '~> 4.0'

Carthage

Carthage is a simple, decentralized dependency manager for Cocoa.

To install ImageRow, simply add the following line to your Cartfile:

github "EurekaCommunity/ImageRow" ~> 4.0

Customization

ImageRow has 5 properties to customize:

  • sourceTypes which allows us to specify the source of the picture. It could be .PhotoLibrary, .Camera, .SavedPhotosAlbum, or any combination of the previous values since sourceTypes property type is ImageRowSourceTypes which conforms to OptionSet.
  • clearAction let's us add a clear action sheet option and configure its style. Possible values are: .no or .yes(style: UIAlertActionStyle). Notice that .yes value requires we pass a UIAlertActionStyle style.
  • allowEditor tells the ImagePickerController to use the standard system image editor after a Image is selected. Possible values are: true or false. The default value for this property is false.
  • useEditedImage tells the ImageRow to use the edited Image from the editor instead of the original one. Possible values are: true or false. The default value for this property is false.
  • userPickerInfo this property holds the info properties of the ImagePickerController after a edited Image is selected, this can be used to further customization or information usage of the selected image. By default this property is nil.

To localize the Actionsheet strings just add the keys "Take photo", "Photo Library", "Saved Photos", "Cancel", "Clear Photo" to your Localizable.strings file

Author

Change Log

This can be found in the CHANGELOG.md file.

imagerow's People

Contributors

andrewbennet avatar damozhang avatar funkenstrahlen avatar gruenekampfente avatar jasonnam avatar joaodforce avatar mats-claassen avatar mtnbarreto avatar oliver530 avatar robmaceachern avatar tladesignz avatar wouterw avatar

Watchers

 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.