https://github.com/ytakzk/Fusuma
  
  
    Instagram-like photo browser and a camera feature with a few line of code in Swift. 
    https://github.com/ytakzk/Fusuma
  
carthage cocoapod cocoapods crop instagram ios photo-browser swift video
        Last synced: 3 months ago 
        JSON representation
    
Instagram-like photo browser and a camera feature with a few line of code in Swift.
- Host: GitHub
 - URL: https://github.com/ytakzk/Fusuma
 - Owner: ytakzk
 - License: mit
 - Created: 2016-01-31T08:58:04.000Z (almost 10 years ago)
 - Default Branch: master
 - Last Pushed: 2019-10-14T22:46:06.000Z (about 6 years ago)
 - Last Synced: 2024-10-29T15:32:58.704Z (about 1 year ago)
 - Topics: carthage, cocoapod, cocoapods, crop, instagram, ios, photo-browser, swift, video
 - Language: Swift
 - Homepage:
 - Size: 7.71 MB
 - Stars: 2,459
 - Watchers: 61
 - Forks: 340
 - Open Issues: 25
 - 
            Metadata Files:
            
- Readme: README.md
 - License: LICENSE
 
 
Awesome Lists containing this project
- awesome-ios - Fusuma - Instagram-like photo browser and a camera feature with a few line of code in Swift. (Hardware / Camera)
 - awesome-swift - Fusuma - Instagram-like photo browser and a camera feature. (Libs / Hardware)
 - awesome-swift - Fusuma - Instagram-like photo browser and a camera feature. (Libs / Hardware)
 - awesome-ios-star - Fusuma - Instagram-like photo browser and a camera feature with a few line of code in Swift. (Hardware / Camera)
 - fucking-awesome-swift - Fusuma - Instagram-like photo browser and a camera feature. (Libs / Hardware)
 - awesome-swift-cn - Fusuma - Instagram-like photo browser and a camera feature. (Libs / Camera)
 - awesome-swift - Fusuma - Instagram-like photo browser and a camera feature with a few line of code in Swift. ` 📝 2 years ago` (Hardware [🔝](#readme))
 
README
          # NOTE: This project is no longer maintained.
We highly recommend [YPImagePicker](https://github.com/Yummypets/YPImagePicker).
## Fusuma
Fusuma is a Swift library that provides an Instagram-like photo browser with a camera feature using only a few lines of code.  
You can use Fusuma instead of UIImagePickerController. It also has a feature to take a square-sized photo.
[](http://cocoapods.org/pods/Fusuma)
[](http://cocoapods.org/pods/Fusuma)
[](https://travis-ci.org/ytakzk/Fusuma)
[](https://github.com/Carthage/Carthage)
[](https://codebeat.co/projects/github-com-ytakzk-fusuma)
## Preview

## Images

## Features
- [x] UIImagePickerController alternative
- [x] Cropping images in camera roll
- [x] Taking a square-sized photo and a video using AVFoundation
- [x] Flash: On & Off 
- [x] Camera Mode: Front & Back 
- [x] Video Mode
- [x] Colors fully customizable
Those features are available just with a few lines of code!
## Installation
#### Manual installation
Download and drop the 'Classes' folder into your Xcode project.  
#### Using [CocoaPods](http://cocoapods.org/)
Add `pod 'Fusuma'` to your `Podfile` and run `pod install`. Also add `use_frameworks!` to the `Podfile`.
```
use_frameworks!
pod 'Fusuma'
```
#### Swift 3
The latest version does support Swift 4.2. If you're still using Swift 3, you can install Fusuma as follows:
`pod 'Fusuma', git: 'git@github.com:ytakzk/Fusuma.git', branch: 'swift-3'`
## Fusuma Usage
Import Fusuma ```import Fusuma``` then use the following codes in some function except for viewDidLoad and give FusumaDelegate to the view controller.  
```Swift
let fusuma = FusumaViewController()
fusuma.delegate = self
fusuma.availableModes = [FusumaMode.library, FusumaMode.camera, FusumaMode.video] // Add .video capturing mode to the default .library and .camera modes
fusuma.cropHeightRatio = 0.6 // Height-to-width ratio. The default value is 1, which means a squared-size photo.
fusuma.allowMultipleSelection = true // You can select multiple photos from the camera roll. The default value is false.
self.present(fusuma, animated: true, completion: nil)
```
#### Delegate methods
```Swift
// Return the image which is selected from camera roll or is taken via the camera.
func fusumaImageSelected(_ image: UIImage, source: FusumaMode) {
  print("Image selected")
}
// Return the image but called after is dismissed.
func fusumaDismissedWithImage(image: UIImage, source: FusumaMode) {
        
  print("Called just after FusumaViewController is dismissed.")
}
func fusumaVideoCompleted(withFileURL fileURL: URL) {
  print("Called just after a video has been selected.")
}
// When camera roll is not authorized, this method is called.
func fusumaCameraRollUnauthorized() {
  print("Camera roll unauthorized")
}
// Return selected images when you allow to select multiple photos.
func fusumaMultipleImageSelected(_ images: [UIImage], source: FusumaMode) {
}
// Return an image and the detailed information.
func fusumaImageSelected(_ image: UIImage, source: FusumaMode, metaData: ImageMetadata) {
}
```
#### How To Customize
```Swift
let fusuma = FusumaViewController()
fusuma.delegate = self
// ...
fusumaCameraRollTitle = "CustomizeCameraRollTitle"
fusumaCameraTitle = "CustomizeCameraTitle" // Camera Title
fusumaTintColor: UIColor // tint color
// ...
self.present(fusuma, animated: true, completion: nil)
```
### Properties
| Prop | Type | Description | Default |
|---|---|---|---|
|**`fusumaBaseTintColor `**|UIColor|Base tint color.|`UIColor.hex("#c9c7c8", alpha: 1.0)`|
|**`fusumaTintColor `**|UIColor|Tint color.|`UIColor.hex("#FCFCFC", alpha: 1.0)`|
|**`fusumaBackgroundColor `**|UIColor|Background color.|`UIColor.hex("#c9c7c8", alpha: 1.0)`|
|**`fusumaCheckImage `**| UIImage | Image of check button.||
|**`fusumaCloseImage `**| UIImage |Image of close button.||
|**`fusumaCropImage `**| Bool |Whether to crop the taken image.| `true` |
|**`fusumaSavesImage `**| Bool |Whether to save the taken image.| `false` |
|**`fusumaCameraRollTitle `**| String |Text of camera roll title.| `"Library"` |
|**`fusumaCameraTitle `**| String |Text of carmera title text.| `Photo` |
|**`fusumaVideoTitle `**| String |Text of video title.| `Video` |
|**`fusumaTitleFont `**| UIFont |Font for title text.| `UIFont(name: "AvenirNext-DemiBold", size: 15)` |
## Fusuma for Xamarin
Cheesebaron developed Chafu for Xamarin.  
https://github.com/Cheesebaron/Chafu
## Author
ytakzk  
 [https://ytakzk.me](https://ytakzk.me)
 
## Donation
Your support is welcome through Bitcoin 3Ps8tBgz4qn6zVUr5D1wcYrrzYjMgEugqv
 
## License
Fusuma is released under the MIT license.  
See LICENSE for details.