Skip to content

JNDisrupter/JNImagePicker

Repository files navigation

JNImagePicker

CI Status License Platform

Preview

Requirements

  • iOS 12.0+ / macOS 15.7+
  • Xcode 26+
  • Swift 5.10+

Installation with Swift Package Manager

JNImagePicker support SwiftPM. To use SwiftPM, you should use Xcode 26 to open your project. Click File -> Swift Packages -> Add Package Dependency, enter JNImagePicker repo's URL

Usage

  • Import JNImagePicker module
import JNImagePicker
  • Initalization:

Initialize the image picker object

let imagePickerViewController() = JNImagePickerViewController()
  • Setup:

you can setup multiple parameters as shown below, for example:

vc.mediaType = .image
vc.maximumMediaSize = 1
vc.sourceType = .gallery
vc.maximumTotalMediaSizes = 5
vc.pickerDelegate = self

Then display the view by calling

self.present(imagePickerViewController, animated: true, completion: nil)
  • Parameters:

    • mediaType: This is for choosing the needed media type to be picked, you can choose between image, video, all
    • maximumMediaSize: This is for deciding the maximum media size to be select in MB per each item, by default its value is -1 which means no limit
    • sourceType: This is for choosing the source of media to be selected from, you can choose between camera, gallery, both
    • maximumTotalMediaSizes: This is for deciding the maximum media size to be select in MB for all selected items in total, by default its value is -1 which means no limit
    • singleSelect: A boolean flag to decide if you want to enable the user to select multiple images or just one item, be default its value is false which means multiple selection enabled
    • maxSelectableCount: This is to decide the maximum items count allowed to be selected from the picker, by default its value is 999
    • allowEditing: This is for allowing the user to edit the selected image by croping it for example, by default its value is false, so initially the editing is disabled
    • pickerDelegate: A delegate that informs the listener with some needed informations, you can check them below
  • Delegates:

    • JNImagePickerViewControllerDelegate: You need this delegate to monitor some information like the media size exceeded, and to get the list of selected media
      • didSelectAssets: This returns a list of selected assets
      • failedToSelectAsset: This returns an error to indicate that a problem happened when selected an asset
      • didExceedMaximumMediaSize: This is to indicate that the selected media size is greater than the maximum
      • didExceedMaximumTotalMediaSizesFor: This is to indicate that the total size of the selected media is greater than the maximum
      • imagePickerViewControllerDidCancelPicker: This is to inform the view that the user clicked on cancel button

Author

Jayel Zaghmoutt, mohammad.s.nabulsi@gmail.com

License

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages