Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
P
PhoneManager
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Yang
PhoneManager
Commits
1d2ad718
Commit
1d2ad718
authored
Apr 10, 2025
by
CZ1004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改详情页面
parent
4608b52c
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
520 additions
and
238 deletions
+520
-238
IntentHandler.swift
ChargeShow/IntentHandler.swift
+2
-2
Intents.intentdefinition
Intents.intentdefinition
+4
-6
project.pbxproj
PhoneManager.xcodeproj/project.pbxproj
+102
-91
HomePhotosDetailViewController.swift
...sion/Home/Controller/HomePhotosDetailViewController.swift
+81
-18
HomeVideoDetailController.swift
...s/Session/Home/Controller/HomeVideoDetailController.swift
+152
-11
HomeVideoDetailCustomHeaderView.swift
...s/Session/Home/View/HomeVideoDetailCustomHeaderView.swift
+104
-90
VideoDetaiNavView.swift
PhoneManager/Class/Session/Home/View/VideoDetaiNavView.swift
+36
-16
HomePhotosDetailCollectionCell.swift
...ssion/Home/View/cell/HomePhotosDetailCollectionCell.swift
+39
-0
Info.plist
PhoneManager/Info.plist
+0
-4
No files found.
ChargeShow/IntentHandler.swift
View file @
1d2ad718
...
...
@@ -2,7 +2,7 @@
// IntentHandler.swift
// ChargeShow
//
// Created by edy on 2025/4/
7
.
// Created by edy on 2025/4/
10
.
//
import
Intents
...
...
@@ -21,7 +21,7 @@ class IntentHandler: INExtension, INSendMessageIntentHandling, INSearchForMessag
override
func
handler
(
for
intent
:
INIntent
)
->
Any
{
// This is the default implementation. If you want different objects to handle different intents,
// you can override this and return the handler you want for that particular intent.
print
(
"有反应么"
)
return
self
}
...
...
Intents.intentdefinition
View file @
1d2ad718
...
...
@@ -7,7 +7,7 @@
<key>
INIntentDefinitionModelVersion
</key>
<string>
1.2
</string>
<key>
INIntentDefinitionNamespace
</key>
<string>
hAB6zR
</string>
<string>
3lzBiO
</string>
<key>
INIntentDefinitionSystemVersion
</key>
<string>
24D81
</string>
<key>
INIntentDefinitionToolsBuildVersion
</key>
...
...
@@ -21,10 +21,8 @@
<string>
generic
</string>
<key>
INIntentConfigurable
</key>
<true/>
<key>
INIntentDescription
</key>
<string>
充电壁纸
</string>
<key>
INIntentDescriptionID
</key>
<string>
wDHi0A
</string>
<string>
7KMVSC
</string>
<key>
INIntentManagedParameterCombinations
</key>
<dict>
<key></key>
...
...
@@ -64,9 +62,9 @@
</array>
</dict>
<key>
INIntentTitle
</key>
<string>
Charge Show
</string>
<string>
Run charging animation
</string>
<key>
INIntentTitleID
</key>
<string>
wwbZJW
</string>
<string>
QeNY2I
</string>
<key>
INIntentType
</key>
<string>
Custom
</string>
<key>
INIntentVerb
</key>
...
...
PhoneManager.xcodeproj/project.pbxproj
View file @
1d2ad718
This diff is collapsed.
Click to expand it.
PhoneManager/Class/Session/Home/Controller/HomePhotosDetailViewController.swift
View file @
1d2ad718
...
...
@@ -15,6 +15,8 @@ class HomePhotosDetailViewController : BaseViewController {
private
var
currentHeaderView
:
HomePhotosDetailCustomHeaderView
?
@MainActor
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
...
...
@@ -50,7 +52,11 @@ class HomePhotosDetailViewController : BaseViewController {
// 当前页面选中的
var
selectedModel
:
[
String
]
=
[]
{
didSet
{
if
self
.
selectedModel
.
count
==
1
{
self
.
deleteButton
.
setTitle
(
"Delete
\(
self
.
selectedModel
.
count
)
Video"
,
for
:
.
normal
)
}
else
{
self
.
deleteButton
.
setTitle
(
"Delete
\(
selectedModel
.
count
)
Videos"
,
for
:
.
normal
)
}
}
}
...
...
@@ -76,9 +82,20 @@ class HomePhotosDetailViewController : BaseViewController {
}()
lazy
var
emptyTrashView
:
EmptyTrashView
=
{
let
view
=
EmptyTrashView
()
view
.
backgroundColor
=
.
white
// lazy var emptyTrashView : EmptyTrashView = {
// let view = EmptyTrashView()
// view.backgroundColor = .white
// return view
// }()
lazy
var
deleteButton
:
UIButton
=
{
let
view
=
UIButton
()
view
.
setTitle
(
"Delete"
,
for
:
UIControl
.
State
.
normal
)
view
.
setTitleColor
(
.
white
,
for
:
.
normal
)
view
.
clipsToBounds
=
true
view
.
layer
.
cornerRadius
=
23
view
.
backgroundColor
=
UIColor
(
red
:
0.7
,
green
:
0.7
,
blue
:
0.7
,
alpha
:
1
)
view
.
addTarget
(
self
,
action
:
#selector(
deleteButtonAction
)
,
for
:
.
touchUpInside
)
return
view
}()
...
...
@@ -89,18 +106,50 @@ class HomePhotosDetailViewController : BaseViewController {
videoDetailNavView
=
VideoDetaiNavView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
self
.
view
.
width
,
height
:
statusBarHeight
+
44
))
self
.
view
.
addSubview
(
videoDetailNavView
!
)
videoDetailNavView
?
.
snp
.
makeConstraints
({
make
in
make
.
top
.
centerX
.
width
.
equalToSuperview
()
make
.
height
.
equalTo
(
statusBarHeight
+
44
)
})
self
.
view
.
addSubview
(
self
.
emptyTrashView
)
self
.
emptyTrashView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
make
.
bottom
.
equalToSuperview
()
.
offset
(
-
34
)
make
.
height
.
equalTo
(
70
)
self
.
videoDetailNavView
?
.
selectAllCallBack
=
{[
weak
self
]
choose
in
guard
let
self
else
{
return
}
if
choose
==
true
{
self
.
selectedModel
=
self
.
resourceData
}
else
{
self
.
selectedModel
.
removeAll
()
}
DispatchQueue
.
main
.
async
{
self
.
collectionView
.
reloadData
()
if
self
.
selectedModel
.
count
>
0
{
self
.
deleteButton
.
backgroundColor
=
UIColor
(
red
:
0
,
green
:
0.51
,
blue
:
1
,
alpha
:
1
)
}
else
{
self
.
deleteButton
.
backgroundColor
=
UIColor
(
red
:
0.7
,
green
:
0.7
,
blue
:
0.7
,
alpha
:
1
)
self
.
deleteButton
.
setTitle
(
"Delete"
,
for
:
.
normal
)
}
}
}
// self.view.addSubview(self.emptyTrashView)
// self.emptyTrashView.snp.makeConstraints { make in
// make.left.right.equalToSuperview()
// make.bottom.equalToSuperview().offset(-34)
// make.height.equalTo(70)
// }
self
.
view
.
insertSubview
(
collectionView
,
at
:
0
)
self
.
view
.
addSubview
(
self
.
deleteButton
)
self
.
deleteButton
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
self
.
collectionView
.
snp
.
bottom
)
.
offset
(
16
)
make
.
left
.
equalToSuperview
()
.
offset
(
15
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
15
)
make
.
height
.
equalTo
(
46
)
}
}
override
func
viewDidLoad
()
{
...
...
@@ -142,6 +191,13 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
cell
.
resourceIdent
=
self
.
resourceData
[
indexPath
.
row
]
cell
.
currentOrder
=
indexPath
.
row
if
self
.
selectedModel
.
contains
(
cell
.
resourceIdent
)
{
cell
.
choose
=
true
}
else
{
cell
.
choose
=
false
}
cell
.
cellCallBack
=
{[
weak
self
]
ident
,
order
in
guard
let
self
else
{
return
}
DispatchQueue
.
main
.
async
{
...
...
@@ -152,6 +208,22 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
self
.
navigationController
?
.
pushViewController
(
vc
,
animated
:
true
)
}
}
cell
.
clickCallBack
=
{[
weak
self
]
click
,
order
in
guard
let
self
else
{
return
}
if
click
==
true
{
self
.
selectedModel
.
append
(
self
.
resourceData
[
order
])
}
else
{
self
.
selectedModel
.
removeAll
{
$0
==
self
.
resourceData
[
order
]
}
}
DispatchQueue
.
main
.
async
{
if
self
.
selectedModel
.
count
>
0
{
self
.
deleteButton
.
backgroundColor
=
UIColor
(
red
:
0
,
green
:
0.51
,
blue
:
1
,
alpha
:
1
)
}
else
{
self
.
deleteButton
.
backgroundColor
=
UIColor
(
red
:
0.7
,
green
:
0.7
,
blue
:
0.7
,
alpha
:
1
)
self
.
deleteButton
.
setTitle
(
"Delete"
,
for
:
.
normal
)
}
}
}
return
cell
}
...
...
@@ -220,8 +292,6 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
return
footer
}
}
func
sortByType
(
sortType
:
Int
){
let
viewModel
=
CompressViewModel
()
...
...
@@ -313,11 +383,6 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
}
}
}
...
...
@@ -346,8 +411,6 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
}
}
}
...
...
PhoneManager/Class/Session/Home/Controller/HomeVideoDetailController.swift
View file @
1d2ad718
This diff is collapsed.
Click to expand it.
PhoneManager/Class/Session/Home/View/HomeVideoDetailCustomHeaderView.swift
View file @
1d2ad718
...
...
@@ -7,6 +7,9 @@
import
Foundation
class
HomeVideoDetailCustomHeaderView
:
UICollectionReusableView
{
var
sortCallback
:
()
->
Void
=
{}
lazy
var
modelTitlelabel
:
UILabel
=
{
let
label
=
UILabel
()
label
.
text
=
"Videos"
...
...
@@ -21,6 +24,13 @@ class HomeVideoDetailCustomHeaderView : UICollectionReusableView {
view
.
backgroundColor
=
UIColor
(
red
:
0.95
,
green
:
0.96
,
blue
:
0.99
,
alpha
:
1
)
view
.
layer
.
cornerRadius
=
16
view
.
clipsToBounds
=
true
let
tap
=
UITapGestureRecognizer
()
tap
.
addTarget
(
self
,
action
:
#selector(
sortAction
)
)
view
.
isUserInteractionEnabled
=
true
view
.
addGestureRecognizer
(
tap
)
return
view
}()
...
...
@@ -46,52 +56,52 @@ class HomeVideoDetailCustomHeaderView : UICollectionReusableView {
return
label
}()
lazy
var
tipBackView
:
UIView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
UIColor
(
red
:
0.95
,
green
:
0.96
,
blue
:
0.99
,
alpha
:
1
)
view
.
layer
.
cornerRadius
=
8
view
.
clipsToBounds
=
true
return
view
}()
lazy
var
tipImageView
:
UIImageView
=
{
let
view
=
UIImageView
()
view
.
image
=
UIImage
(
named
:
"ic_cmpress_home_nor"
)
return
view
}()
lazy
var
tipLabel
:
UILabel
=
{
let
label
=
UILabel
()
label
.
text
=
"Video Compress"
label
.
textAlignment
=
.
left
label
.
numberOfLines
=
0
label
.
font
=
UIFont
.
systemFont
(
ofSize
:
16
,
weight
:
.
bold
)
return
label
}()
lazy
var
tipDetailLabel
:
UILabel
=
{
let
label
=
UILabel
()
label
.
text
=
"Tap to start the process"
label
.
textAlignment
=
.
left
label
.
numberOfLines
=
0
label
.
textColor
=
UIColor
(
red
:
0.7
,
green
:
0.7
,
blue
:
0.7
,
alpha
:
1
)
label
.
font
=
UIFont
.
systemFont
(
ofSize
:
12
,
weight
:
.
regular
)
return
label
}()
lazy
var
saveSizeLabel
:
UILabel
=
{
let
label
=
UILabel
()
label
.
text
=
"13.5M"
label
.
textAlignment
=
.
right
label
.
textColor
=
UIColor
(
red
:
0
,
green
:
0.51
,
blue
:
1
,
alpha
:
1
)
label
.
font
=
UIFont
.
systemFont
(
ofSize
:
16
,
weight
:
.
bold
)
return
label
}()
lazy
var
moreImageView
:
UIImageView
=
{
let
view
=
UIImageView
()
view
.
image
=
UIImage
(
named
:
"icon_left_setting_grey"
)
return
view
}()
//
lazy var tipBackView :UIView = {
//
let view = UIView()
//
view.backgroundColor = UIColor(red: 0.95, green: 0.96, blue: 0.99, alpha: 1)
//
view.layer.cornerRadius = 8
//
view.clipsToBounds = true
//
return view
//
}()
//
lazy var tipImageView :UIImageView = {
//
let view = UIImageView()
//
view.image = UIImage(named: "ic_cmpress_home_nor")
//
return view
//
}()
//
//
lazy var tipLabel :UILabel = {
//
let label = UILabel()
//
label.text = "Video Compress"
//
label.textAlignment = .left
//
label.numberOfLines = 0
//
label.font = UIFont.systemFont(ofSize: 16, weight: .bold)
//
return label
//
}()
//
//
lazy var tipDetailLabel :UILabel = {
//
let label = UILabel()
//
label.text = "Tap to start the process"
//
label.textAlignment = .left
//
label.numberOfLines = 0
//
label.textColor = UIColor(red: 0.7, green: 0.7, blue: 0.7, alpha: 1)
//
label.font = UIFont.systemFont(ofSize: 12, weight: .regular)
//
return label
//
}()
//
//
lazy var saveSizeLabel :UILabel = {
//
let label = UILabel()
//
label.text = "13.5M"
//
label.textAlignment = .right
//
label.textColor = UIColor(red: 0, green: 0.51, blue: 1, alpha: 1)
//
label.font = UIFont.systemFont(ofSize: 16, weight: .bold)
//
return label
//
}()
//
//
lazy var moreImageView :UIImageView = {
//
let view = UIImageView()
//
view.image = UIImage(named: "icon_left_setting_grey")
//
return view
//
}()
...
...
@@ -105,12 +115,12 @@ class HomeVideoDetailCustomHeaderView : UICollectionReusableView {
self
.
btnView
.
addSubview
(
self
.
selectImageView
)
self
.
btnView
.
addSubview
(
self
.
selectlabel
)
self
.
addSubview
(
self
.
tipBackView
)
self
.
tipBackView
.
addSubview
(
self
.
tipImageView
)
self
.
tipBackView
.
addSubview
(
self
.
tipLabel
)
self
.
tipBackView
.
addSubview
(
self
.
tipDetailLabel
)
self
.
tipBackView
.
addSubview
(
self
.
saveSizeLabel
)
self
.
tipBackView
.
addSubview
(
self
.
moreImageView
)
//
self.addSubview(self.tipBackView)
//
self.tipBackView.addSubview(self.tipImageView)
//
self.tipBackView.addSubview(self.tipLabel)
//
self.tipBackView.addSubview(self.tipDetailLabel)
//
self.tipBackView.addSubview(self.saveSizeLabel)
//
self.tipBackView.addSubview(self.moreImageView)
...
...
@@ -146,44 +156,44 @@ class HomeVideoDetailCustomHeaderView : UICollectionReusableView {
make
.
height
.
equalTo
(
20
)
}
self
.
tipBackView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
0
)
make
.
right
.
equalTo
(
0
)
make
.
top
.
equalTo
(
self
.
sizeLabel
.
snp
.
bottom
)
.
offset
(
12
)
make
.
height
.
equalTo
(
70
)
}
self
.
tipImageView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
15
)
make
.
centerY
.
equalToSuperview
()
make
.
width
.
height
.
equalTo
(
30
)
}
self
.
tipLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
self
.
tipImageView
.
snp
.
right
)
.
offset
(
10
)
make
.
width
.
equalTo
(
150
*
RScreenW
())
make
.
height
.
equalTo
(
22
)
make
.
top
.
equalToSuperview
()
.
offset
(
15
)
}
self
.
tipDetailLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
self
.
tipImageView
.
snp
.
right
)
.
offset
(
10
)
make
.
width
.
equalTo
(
150
*
RScreenW
())
make
.
height
.
equalTo
(
18
)
make
.
top
.
equalTo
(
self
.
tipLabel
.
snp
.
bottom
)
.
offset
(
0
)
}
self
.
moreImageView
.
snp
.
makeConstraints
{
make
in
make
.
height
.
width
.
equalTo
(
20
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
15
)
make
.
centerY
.
equalToSuperview
()
}
self
.
saveSizeLabel
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
equalToSuperview
()
make
.
right
.
equalTo
(
self
.
moreImageView
.
snp
.
left
)
.
offset
(
-
10
)
make
.
height
.
equalTo
(
28
)
make
.
width
.
equalTo
(
100
)
}
//
self.tipBackView.snp.makeConstraints { make in
//
make.left.equalTo(0)
//
make.right.equalTo(0)
//
make.top.equalTo(self.sizeLabel.snp.bottom).offset(12)
//
make.height.equalTo(70)
//
}
//
//
self.tipImageView.snp.makeConstraints { make in
//
make.left.equalToSuperview().offset(15)
//
make.centerY.equalToSuperview()
//
make.width.height.equalTo(30)
//
//
}
//
self.tipLabel.snp.makeConstraints { make in
//
make.left.equalTo(self.tipImageView.snp.right).offset(10)
//
make.width.equalTo(150 * RScreenW())
//
make.height.equalTo(22)
//
make.top.equalToSuperview().offset(15)
//
}
//
self.tipDetailLabel.snp.makeConstraints { make in
//
make.left.equalTo(self.tipImageView.snp.right).offset(10)
//
make.width.equalTo(150 * RScreenW())
//
make.height.equalTo(18)
//
make.top.equalTo(self.tipLabel.snp.bottom).offset(0)
//
}
//
//
self.moreImageView.snp.makeConstraints { make in
//
make.height.width.equalTo(20)
//
make.right.equalToSuperview().offset(-15)
//
make.centerY.equalToSuperview()
//
}
//
//
self.saveSizeLabel.snp.makeConstraints { make in
//
make.centerY.equalToSuperview()
//
make.right.equalTo(self.moreImageView.snp.left).offset(-10)
//
make.height.equalTo(28)
//
make.width.equalTo(100)
//
}
}
override
init
(
frame
:
CGRect
)
{
...
...
@@ -197,4 +207,8 @@ class HomeVideoDetailCustomHeaderView : UICollectionReusableView {
super
.
init
(
coder
:
aDecoder
)
setUI
()
}
@objc
func
sortAction
(){
sortCallback
()
}
}
PhoneManager/Class/Session/Home/View/VideoDetaiNavView.swift
View file @
1d2ad718
...
...
@@ -8,8 +8,28 @@
import
Foundation
class
VideoDetaiNavView
:
UIView
{
var
selectAllCallBack
:
(
Bool
)
->
Void
=
{
choose
in
}
private
var
backButton
:
UIButton
!
private
var
selectButton
:
UIButton
!
lazy
var
seletedAllBtn
:
UIButton
=
{
let
btn
:
UIButton
=
UIButton
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
131
,
height
:
32
))
btn
.
isSelected
=
false
btn
.
backgroundColor
=
UIColor
.
colorWithHex
(
hexStr
:
"#F2F6FC"
)
btn
.
setImage
(
UIImage
.
init
(
named
:
"ic_check_similar"
),
for
:
.
normal
)
btn
.
setTitle
(
"Select All"
,
for
:
.
normal
)
btn
.
setImage
(
UIImage
.
init
(
named
:
"ic_close_similar"
),
for
:
.
selected
)
btn
.
setTitle
(
"Deselect All"
,
for
:
.
selected
)
btn
.
setTitleColor
(
UIColor
.
colorWithHex
(
hexStr
:
mColor
),
for
:
.
normal
)
btn
.
setTitleColor
(
UIColor
.
colorWithHex
(
hexStr
:
black3Color
),
for
:
.
selected
)
btn
.
titleLabel
?
.
font
=
UIFont
.
systemFont
(
ofSize
:
14
,
weight
:
.
bold
)
btn
.
changBtnWithStytl
(
btnStyle
:
.
defalut
,
margin
:
8
)
btn
.
addTarget
(
self
,
action
:
#selector(
seletedAllBtnClick
)
,
for
:
.
touchUpInside
)
return
btn
}()
override
init
(
frame
:
CGRect
)
{
...
...
@@ -31,6 +51,13 @@ class VideoDetaiNavView : UIView {
backButton
.
addTarget
(
self
,
action
:
#selector(
backBtnClick
)
,
for
:
.
touchUpInside
)
self
.
addSubview
(
backButton
)
self
.
addSubview
(
self
.
seletedAllBtn
)
self
.
seletedAllBtn
.
snp
.
makeConstraints
{
make
in
make
.
right
.
equalToSuperview
()
.
offset
(
-
15
)
make
.
centerY
.
equalTo
(
self
.
backButton
.
snp
.
centerY
)
}
backButton
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
equalTo
(
navCenterY
)
...
...
@@ -38,26 +65,19 @@ class VideoDetaiNavView : UIView {
make
.
width
.
height
.
equalTo
(
iconWH
)
}
selectButton
=
UIButton
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
70
,
height
:
iconWH
))
selectButton
.
setTitle
(
"Select"
,
for
:
.
normal
)
selectButton
.
addTarget
(
self
,
action
:
#selector(
proBtnClick
)
,
for
:
.
touchUpInside
)
self
.
addSubview
(
selectButton
)
selectButton
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
equalTo
(
navCenterY
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
15
)
make
.
width
.
equalTo
(
70
)
make
.
height
.
equalTo
(
iconWH
)
}
}
@objc
private
func
backBtnClick
()
{
self
.
responderViewController
()?
.
navigationController
?
.
popViewController
(
animated
:
true
)
}
@objc
private
func
proBtnClick
()
{
Print
(
"点击了选择按钮"
)
@objc
func
seletedAllBtnClick
()
{
DispatchQueue
.
main
.
async
{[
weak
self
]
in
guard
let
self
else
{
return
}
seletedAllBtn
.
isSelected
=
!
seletedAllBtn
.
isSelected
self
.
selectAllCallBack
(
seletedAllBtn
.
isSelected
)
}
}
}
PhoneManager/Class/Session/Home/View/cell/HomePhotosDetailCollectionCell.swift
View file @
1d2ad718
...
...
@@ -10,10 +10,23 @@ import Photos
class
HomePhotosDetailCollectionCell
:
UICollectionViewCell
{
var
clickCallBack
:
(
Bool
,
Int
)
->
Void
=
{
choose
,
order
in
}
var
cellCallBack
:
(
String
,
Int
)
->
Void
=
{
ident
,
order
in
}
var
currentMediaType
:
Int
=
0
var
choose
:
Bool
=
false
{
didSet
{
if
choose
{
self
.
selectImageView
.
image
=
UIImage
(
named
:
"ic_unsel_com"
)
}
else
{
self
.
selectImageView
.
image
=
UIImage
(
named
:
"ic_sel_com"
)
}
}
}
var
resourceIdent
:
String
=
""
{
didSet
{
DispatchQueue
.
global
()
.
async
{
...
...
@@ -52,6 +65,21 @@ class HomePhotosDetailCollectionCell : UICollectionViewCell {
return
view
}()
lazy
var
selectImageView
:
UIImageView
=
{
let
view
=
UIImageView
()
view
.
image
=
UIImage
(
named
:
"ic_sel_com"
)
view
.
backgroundColor
=
.
clear
view
.
isUserInteractionEnabled
=
true
let
tap
=
UITapGestureRecognizer
()
tap
.
addTarget
(
self
,
action
:
#selector(
selectClick
)
)
view
.
addGestureRecognizer
(
tap
)
return
view
}()
@objc
func
cellClick
(){
cellCallBack
(
self
.
resourceIdent
,
self
.
currentOrder
)
}
...
...
@@ -67,10 +95,16 @@ class HomePhotosDetailCollectionCell : UICollectionViewCell {
self
.
addGestureRecognizer
(
tap
)
self
.
addSubview
(
self
.
backImageView
)
self
.
addSubview
(
self
.
selectImageView
)
self
.
backImageView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
height
.
width
.
equalToSuperview
()
}
self
.
selectImageView
.
snp
.
makeConstraints
{
make
in
make
.
bottom
.
right
.
equalToSuperview
()
.
offset
(
-
12
)
make
.
height
.
width
.
equalTo
(
24
)
}
}
required
init
?(
coder
:
NSCoder
)
{
...
...
@@ -81,4 +115,9 @@ class HomePhotosDetailCollectionCell : UICollectionViewCell {
@objc
func
imageClick
(){
}
@objc
func
selectClick
(){
self
.
choose
=
!
self
.
choose
clickCallBack
(
self
.
choose
,
self
.
currentOrder
)
}
}
PhoneManager/Info.plist
View file @
1d2ad718
...
...
@@ -2,10 +2,6 @@
<
!
D
O
C
TYP
E
plist
PU
B
LI
C
"-//
A
ppl
e
//
D
T
D
PLIST
1
.
0
//
E
N"
"http://www.
a
ppl
e
.
c
om/
D
T
D
s/Prop
e
rtyList-
1
.
0
.
d
t
d
"
>
<
plist
v
e
rsion="
1
.
0
"
>
<
d
i
c
t
>
<
k
e
y
>
NSPhotoLibraryUsageDescription
<
/k
e
y
>
<
string
><
/string
>
<
k
e
y
>
NSPhotoLibraryAddUsageDescription
<
/k
e
y
>
<
string
><
/string
>
<
k
e
y
>
NSAppTransportSecurity
<
/k
e
y
>
<
d
i
c
t
>
<
k
e
y
>
NSAllowsArbitraryLoads
<
/k
e
y
>
...
...
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