nohana / NohanaImagePicker

A multiple image picker for iOS app.
Apache License 2.0
224 stars 57 forks source link

Description

Multiple image picker for iOS app.

NohanaImagePicker enables your app to pick images from multiple album, and the moment.

Usage

import UIKit
import Photos
import NohanaImagePicker
class MyViewController: UIViewController {
    let picker = NohanaImagePickerController()

#     override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        self.picker.delegate = self
        present(self.picker, animated: true, completion: nil)
    }
}

extension MyViewController: NohanaImagePickerControllerDelegate {

    func nohanaImagePickerDidCancel(_ picker: NohanaImagePickerController) {
        print("🐷Canceled🙅")
        picker.dismiss(animated: true, completion: nil)
    }

    func nohanaImagePicker(_ picker: NohanaImagePickerController, didFinishPickingPhotoKitAssets pickedAssts :[PHAsset]) {
        print("🐷Completed🙆\n\tpickedAssets = \(pickedAssts)")
        picker.dismiss(animated: true, completion: nil)
    }
}

Customize

let picker = NohanaImagePickerController()

// Set the maximum number of selectable images
picker.maximumNumberOfSelection = 21

// Set the cell size
picker.numberOfColumnsInPortrait = 2
picker.numberOfColumnsInLandscape = 3

// Show Moment
picker.shouldShowMoment = true

// Show empty albums
picker.shouldShowMoment = shouldShowEmptyAlbum = true

// Hide toolbar
picker.shouldShowEmptyAlbum = true

// Disable to pick asset
picker.canPickAsset = { (asset:Asset) -> Bool in
    return false
}

Requirements

Installation

Carthage

Use Carthage.

<key>NSPhotoLibraryUsageDescription</key>
<string>To pick some photos.</string>

Swift Package Manager

Use Swift Package Manager.

License

This library is licensed under Apache License v2.

Copyright (C) 2016 nohana, Inc. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.