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.1'
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.1
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 sincesourceTypes
property type isImageRowSourceTypes
which conforms toOptionSet
.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 aUIAlertActionStyle
style.allowEditor
tells theImagePickerController
to use the standard system image editor after a Image is selected. Possible values are:true
orfalse
. The default value for this property isfalse
.useEditedImage
tells theImageRow
to use the edited Image from the editor instead of the original one. Possible values are:true
orfalse
. The default value for this property isfalse
.userPickerInfo
this property holds theinfo
properties of theImagePickerController
after a edited Image is selected, this can be used to further customization or information usage of the selected image. By default this property isnil
.
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.