Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
D
dz_TZImagePickerController
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
shuijing
dz_TZImagePickerController
Commits
b669edf9
Commit
b669edf9
authored
Mar 06, 2018
by
yuzheng.tz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增onlyReturnAsset属性,为YES时选择器不获取大图,只返回asset出去
parent
8bd70eb5
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
49 additions
and
36 deletions
+49
-36
TZImagePickerController/TZImagePickerController/TZImagePickerController.h
...troller/TZImagePickerController/TZImagePickerController.h
+4
-0
TZImagePickerController/TZImagePickerController/TZPhotoPickerController.m
...troller/TZImagePickerController/TZPhotoPickerController.m
+45
-36
No files found.
TZImagePickerController/TZImagePickerController/TZImagePickerController.h
View file @
b669edf9
...
...
@@ -102,6 +102,10 @@
/// 默认为YES,如果设置为NO, 选择器将不会自己dismiss
@property
(
nonatomic
,
assign
)
BOOL
autoDismiss
;
/// Default is YES, if set NO, in the delegate method the photos and infos will be nil, only assets hava value.
/// 默认为NO,如果设置为YES,代理方法里photos和infos会是nil,只返回assets
@property
(
assign
,
nonatomic
)
BOOL
onlyReturnAsset
;
/// The photos user have selected
/// 用户选中过的图片数组
@property
(
nonatomic
,
strong
)
NSMutableArray
*
selectedAssets
;
...
...
TZImagePickerController/TZImagePickerController/TZPhotoPickerController.m
View file @
b669edf9
...
...
@@ -352,43 +352,52 @@ static CGFloat itemMargin = 5;
}
[
tzImagePickerVc
showProgressHUD
];
NSMutableArray
*
photos
=
[
NSMutableArray
array
];
NSMutableArray
*
assets
=
[
NSMutableArray
array
];
NSMutableArray
*
infoArr
=
[
NSMutableArray
array
];
for
(
NSInteger
i
=
0
;
i
<
tzImagePickerVc
.
selectedModels
.
count
;
i
++
)
{
[
photos
addObject
:
@1
];[
assets
addObject
:
@1
];[
infoArr
addObject
:
@1
];
}
__block
BOOL
havenotShowAlert
=
YES
;
[
TZImageManager
manager
].
shouldFixOrientation
=
YES
;
__block
id
alertView
;
for
(
NSInteger
i
=
0
;
i
<
tzImagePickerVc
.
selectedModels
.
count
;
i
++
)
{
TZAssetModel
*
model
=
tzImagePickerVc
.
selectedModels
[
i
];
[[
TZImageManager
manager
]
getPhotoWithAsset
:
model
.
asset
completion
:
^
(
UIImage
*
photo
,
NSDictionary
*
info
,
BOOL
isDegraded
)
{
if
(
isDegraded
)
return
;
if
(
photo
)
{
photo
=
[
self
scaleImage
:
photo
toSize
:
CGSizeMake
(
tzImagePickerVc
.
photoWidth
,
(
int
)(
tzImagePickerVc
.
photoWidth
*
photo
.
size
.
height
/
photo
.
size
.
width
))];
[
photos
replaceObjectAtIndex
:
i
withObject
:
photo
];
}
if
(
info
)
[
infoArr
replaceObjectAtIndex
:
i
withObject
:
info
];
[
assets
replaceObjectAtIndex
:
i
withObject
:
model
.
asset
];
for
(
id
item
in
photos
)
{
if
([
item
isKindOfClass
:[
NSNumber
class
]])
return
;
}
if
(
havenotShowAlert
)
{
[
tzImagePickerVc
hideAlertView
:
alertView
];
[
self
didGetAllPhotos
:
photos
assets
:
assets
infoArr
:
infoArr
];
}
}
progressHandler
:^
(
double
progress
,
NSError
*
error
,
BOOL
*
stop
,
NSDictionary
*
info
)
{
// 如果图片正在从iCloud同步中,提醒用户
if
(
progress
<
1
&&
havenotShowAlert
&&
!
alertView
)
{
[
tzImagePickerVc
hideProgressHUD
];
alertView
=
[
tzImagePickerVc
showAlertWithTitle
:[
NSBundle
tz_localizedStringForKey
:
@"Synchronizing photos from iCloud"
]];
havenotShowAlert
=
NO
;
return
;
}
if
(
progress
>=
1
)
{
havenotShowAlert
=
YES
;
}
}
networkAccessAllowed
:
YES
];
NSMutableArray
*
photos
;
NSMutableArray
*
infoArr
;
if
(
tzImagePickerVc
.
onlyReturnAsset
)
{
// not fetch image
for
(
NSInteger
i
=
0
;
i
<
tzImagePickerVc
.
selectedModels
.
count
;
i
++
)
{
TZAssetModel
*
model
=
tzImagePickerVc
.
selectedModels
[
i
];
[
assets
addObject
:
model
.
asset
];
}
}
else
{
// fetch image
photos
=
[
NSMutableArray
array
];
infoArr
=
[
NSMutableArray
array
];
for
(
NSInteger
i
=
0
;
i
<
tzImagePickerVc
.
selectedModels
.
count
;
i
++
)
{
[
photos
addObject
:
@1
];[
assets
addObject
:
@1
];[
infoArr
addObject
:
@1
];
}
__block
BOOL
havenotShowAlert
=
YES
;
[
TZImageManager
manager
].
shouldFixOrientation
=
YES
;
__block
id
alertView
;
for
(
NSInteger
i
=
0
;
i
<
tzImagePickerVc
.
selectedModels
.
count
;
i
++
)
{
TZAssetModel
*
model
=
tzImagePickerVc
.
selectedModels
[
i
];
[[
TZImageManager
manager
]
getPhotoWithAsset
:
model
.
asset
completion
:
^
(
UIImage
*
photo
,
NSDictionary
*
info
,
BOOL
isDegraded
)
{
if
(
isDegraded
)
return
;
if
(
photo
)
{
photo
=
[
self
scaleImage
:
photo
toSize
:
CGSizeMake
(
tzImagePickerVc
.
photoWidth
,
(
int
)(
tzImagePickerVc
.
photoWidth
*
photo
.
size
.
height
/
photo
.
size
.
width
))];
[
photos
replaceObjectAtIndex
:
i
withObject
:
photo
];
}
if
(
info
)
[
infoArr
replaceObjectAtIndex
:
i
withObject
:
info
];
[
assets
replaceObjectAtIndex
:
i
withObject
:
model
.
asset
];
for
(
id
item
in
photos
)
{
if
([
item
isKindOfClass
:[
NSNumber
class
]])
return
;
}
if
(
havenotShowAlert
)
{
[
tzImagePickerVc
hideAlertView
:
alertView
];
[
self
didGetAllPhotos
:
photos
assets
:
assets
infoArr
:
infoArr
];
}
}
progressHandler
:^
(
double
progress
,
NSError
*
error
,
BOOL
*
stop
,
NSDictionary
*
info
)
{
// 如果图片正在从iCloud同步中,提醒用户
if
(
progress
<
1
&&
havenotShowAlert
&&
!
alertView
)
{
[
tzImagePickerVc
hideProgressHUD
];
alertView
=
[
tzImagePickerVc
showAlertWithTitle
:[
NSBundle
tz_localizedStringForKey
:
@"Synchronizing photos from iCloud"
]];
havenotShowAlert
=
NO
;
return
;
}
if
(
progress
>=
1
)
{
havenotShowAlert
=
YES
;
}
}
networkAccessAllowed
:
YES
];
}
}
if
(
tzImagePickerVc
.
selectedModels
.
count
<=
0
)
{
[
self
didGetAllPhotos
:
photos
assets
:
assets
infoArr
:
infoArr
];
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment