@@ -30,7 +30,7 @@ class ViewController: UIViewController {
30
30
let imagePicker = ImagePickerController ( )
31
31
imagePicker. settings. selection. max = 5
32
32
imagePicker. settings. theme. selectionStyle = . numbered
33
- imagePicker. settings. fetch. assets. supportedMediaTypes = [ . image, . video]
33
+ imagePicker. settings. fetch. assets. supportedMediaTypes = [ . image( ) , . video( ) ]
34
34
imagePicker. settings. selection. unselectOnReachingMax = true
35
35
36
36
let start = Date ( )
@@ -52,7 +52,7 @@ class ViewController: UIViewController {
52
52
let imagePicker = ImagePickerController ( )
53
53
imagePicker. settings. selection. max = 1
54
54
imagePicker. settings. selection. unselectOnReachingMax = true
55
- imagePicker. settings. fetch. assets. supportedMediaTypes = [ . image, . video]
55
+ imagePicker. settings. fetch. assets. supportedMediaTypes = [ . image( ) , . video( ) ]
56
56
imagePicker. albumButton. tintColor = UIColor . green
57
57
imagePicker. cancelButton. tintColor = UIColor . red
58
58
imagePicker. doneButton. tintColor = UIColor . purple
@@ -99,7 +99,7 @@ class ViewController: UIViewController {
99
99
} )
100
100
101
101
let imagePicker = ImagePickerController ( selectedAssets: evenAssets)
102
- imagePicker. settings. fetch. assets. supportedMediaTypes = [ . image]
102
+ imagePicker. settings. fetch. assets. supportedMediaTypes = [ . image( ) ]
103
103
104
104
self . presentImagePicker ( imagePicker, select: { ( asset) in
105
105
print ( " Selected: \( asset) " )
@@ -111,5 +111,57 @@ class ViewController: UIViewController {
111
111
print ( " Finished with selections: \( assets) " )
112
112
} )
113
113
}
114
+
115
+ @IBAction func showImagePickerWithLimit( _ sender: Any ) {
116
+ let imagePicker = ImagePickerController ( )
117
+ imagePicker. settings. selection. max = 5
118
+ imagePicker. settings. theme. selectionStyle = . numbered
119
+ imagePicker. settings. fetch. assets. supportedMediaTypes = [
120
+ . image( max: 2 ) ,
121
+ . video( max: 1 )
122
+ ]
123
+
124
+ let start = Date ( )
125
+ imagePicker. imagePickerDelegate = self
126
+ self . presentImagePicker ( imagePicker, select: { ( asset) in
127
+ print ( " Selected: \( asset) " )
128
+ } , deselect: { ( asset) in
129
+ print ( " Deselected: \( asset) " )
130
+ } , cancel: { ( assets) in
131
+ print ( " Canceled with selections: \( assets) " )
132
+ } , finish: { ( assets) in
133
+ print ( " Finished with selections: \( assets) " )
134
+ } , completion: {
135
+ let finish = Date ( )
136
+ print ( finish. timeIntervalSince ( start) )
137
+ } )
138
+
139
+ }
140
+ }
141
+
142
+ extension ViewController : ImagePickerControllerDelegate {
143
+ func imagePicker( _ imagePicker: ImagePickerController , didSelectAsset asset: PHAsset ) {
144
+ print ( " Selected: \( asset) " )
145
+ }
146
+
147
+ func imagePicker( _ imagePicker: ImagePickerController , didDeselectAsset asset: PHAsset ) {
148
+ print ( " Deselected: \( asset) " )
149
+ }
150
+
151
+ func imagePicker( _ imagePicker: ImagePickerController , didFinishWithAssets assets: [ PHAsset ] ) {
152
+ print ( " Canceled with selections: \( assets) " )
153
+ }
154
+
155
+ func imagePicker( _ imagePicker: ImagePickerController , didCancelWithAssets assets: [ PHAsset ] ) {
156
+ print ( " Finished with selections: \( assets) " )
157
+ }
158
+
159
+ func imagePicker( _ imagePicker: ImagePickerController , didReachSelectionLimit count: Int ) {
160
+ print ( " didReachSelectionLimit with count: " , count)
161
+ }
162
+
163
+ func imagePicker( _ imagePicker: ImagePickerController , didReachSelectionLimitForType type: PHAssetMediaType ) {
164
+ print ( " didReachSelectionLimitForType: " , type. rawValue)
165
+ }
114
166
}
115
167
0 commit comments