Skip to content

Commit

Permalink
Merge pull request #28 from mikaoj/settings
Browse files Browse the repository at this point in the history
Settings
  • Loading branch information
mikaoj committed Jul 4, 2015
2 parents b7e5563 + 65fc1f3 commit 2c0b287
Show file tree
Hide file tree
Showing 26 changed files with 1,287 additions and 1,234 deletions.
4 changes: 2 additions & 2 deletions BSImagePicker.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "BSImagePicker"
s.version = "1.1.0"
s.version = "1.2.0"
s.summary = "BSImagePicker is a multiple image picker for iOS 8."
s.description = <<-DESC
A mix between the native iOS 8 gallery and facebooks image picker. Allows you to preview and select multiple images.
Expand All @@ -10,7 +10,7 @@ Pod::Spec.new do |s|
"https://raw.githubusercontent.com/mikaoj/BSImagePicker/master/Misc/Screenshots/album_portrait.png",
"https://raw.githubusercontent.com/mikaoj/BSImagePicker/master/Misc/Screenshots/preview_portrait.png"]
s.license = 'MIT'
s.author = { "Joakim Gyllstrom" => "[email protected]" }
s.author = { "Joakim Gyllström" => "[email protected]" }
s.source = { :git => "https://github.com/mikaoj/BSImagePicker.git", :tag => s.version.to_s }

s.platform = :ios, '8.0'
Expand Down
4 changes: 4 additions & 0 deletions Example/BSImagePickerExample/ViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ class ViewController: UIViewController {
vc.cancelButton.tintColor = UIColor.redColor()
vc.doneButton.tintColor = UIColor.purpleColor()
vc.selectionCharacter = ""
vc.selectionFillColor = UIColor.blackColor()
vc.selectionStrokeColor = UIColor.yellowColor()
vc.selectionShadowColor = UIColor.redColor()
vc.selectionTextAttributes[NSForegroundColorAttributeName] = UIColor.lightGrayColor()

bs_presentImagePickerController(vc, animated: true,
select: { (asset: PHAsset) -> Void in
Expand Down
4 changes: 2 additions & 2 deletions Example/Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PODS:
- BSImagePicker (1.0.1):
- BSImagePicker (1.1.0):
- UIImageViewModeScaleAspect (~> 1.3)
- UIImageViewModeScaleAspect (1.3)

Expand All @@ -11,7 +11,7 @@ EXTERNAL SOURCES:
:path: "../"

SPEC CHECKSUMS:
BSImagePicker: e9ee64c1a1a952cff3599a7361026d0f80112a7e
BSImagePicker: a98ef7005706a81e6add312a284f334912e99e2f
UIImageViewModeScaleAspect: ec78901acfc20d3782154111a21d34390f8f71ad

COCOAPODS: 0.37.2
10 changes: 5 additions & 5 deletions Example/Pods/Local Podspecs/BSImagePicker.podspec.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Example/Pods/Manifest.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2,180 changes: 1,094 additions & 1,086 deletions Example/Pods/Pods.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

86 changes: 63 additions & 23 deletions Pod/Classes/Controller/BSImagePickerViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ import UIKit
import Photos

public class BSImagePickerViewController : UINavigationController, BSImagePickerSettings {
private let settings = Settings()

internal lazy var photosViewController: PhotosViewController = {
// Get path for BSImagePicker bundle
let bundlePath = NSBundle(forClass: PhotosViewController.self).pathForResource("BSImagePicker", ofType: "bundle")
Expand All @@ -38,7 +40,10 @@ public class BSImagePickerViewController : UINavigationController, BSImagePicker

let storyboard = UIStoryboard(name: "Photos", bundle: bundle)

return storyboard.instantiateInitialViewController() as! PhotosViewController
let controller = storyboard.instantiateInitialViewController() as! PhotosViewController
controller.settings = self.settings

return controller
}()

public convenience init() {
Expand Down Expand Up @@ -84,72 +89,107 @@ public class BSImagePickerViewController : UINavigationController, BSImagePicker
}

// MARK: ImagePickerSettings proxy
public var selectionClosure: ((asset: PHAsset) -> Void)? {
public var maxNumberOfSelections: Int {
get {
return photosViewController.selectionClosure
return settings.maxNumberOfSelections
}
set {
photosViewController.selectionClosure = newValue
settings.maxNumberOfSelections = newValue
}
}
public var deselectionClosure: ((asset: PHAsset) -> Void)? {

public var selectionCharacter: Character? {
get {
return photosViewController.deselectionClosure
return settings.selectionCharacter
}
set {
photosViewController.deselectionClosure = newValue
settings.selectionCharacter = newValue
}
}
public var cancelClosure: ((assets: [PHAsset]) -> Void)? {

public var selectionFillColor: UIColor {
get {
return photosViewController.cancelClosure
return settings.selectionFillColor
}
set {
photosViewController.cancelClosure = newValue
settings.selectionFillColor = newValue
}
}
public var finishClosure: ((assets: [PHAsset]) -> Void)? {
public var selectionStrokeColor: UIColor {
get {
return photosViewController.finishClosure
return settings.selectionStrokeColor
}
set {
photosViewController.finishClosure = newValue
settings.selectionStrokeColor = newValue
}
}

public var maxNumberOfSelections: Int {
public var selectionShadowColor: UIColor {
get {
return photosViewController.maxNumberOfSelections
return settings.selectionShadowColor
}
set {
photosViewController.maxNumberOfSelections = newValue
settings.selectionShadowColor = newValue
}
}
public var selectionTextAttributes: [NSObject: AnyObject] {
get {
return settings.selectionTextAttributes
}
set {
settings.selectionTextAttributes = newValue
}
}

// MARK: Buttons
public var cancelButton: UIBarButtonItem {
get {
return photosViewController.cancelButton
return photosViewController.cancelBarButton
}
}

public var doneButton: UIBarButtonItem {
get {
return photosViewController.doneButton
return photosViewController.doneBarButton
}
}

public var albumButton: UIButton {
get {
return photosViewController.albumButton
return photosViewController.albumTitleView.albumButton
}
}

public var selectionCharacter: Character? {
// MARK: Closures
var selectionClosure: ((asset: PHAsset) -> Void)? {
get {
return photosViewController.selectionCharacter
return photosViewController.selectionClosure
}
set {
photosViewController.selectionCharacter = newValue
photosViewController.selectionClosure = newValue
}
}
var deselectionClosure: ((asset: PHAsset) -> Void)? {
get {
return photosViewController.deselectionClosure
}
set {
photosViewController.deselectionClosure = newValue
}
}
var cancelClosure: ((assets: [PHAsset]) -> Void)? {
get {
return photosViewController.cancelClosure
}
set {
photosViewController.cancelClosure = newValue
}
}
var finishClosure: ((assets: [PHAsset]) -> Void)? {
get {
return photosViewController.finishClosure
}
set {
photosViewController.finishClosure = newValue
}
}
}
Loading

0 comments on commit 2c0b287

Please sign in to comment.