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
b0e0d93b
Commit
b0e0d93b
authored
Apr 27, 2025
by
CZ1004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【修复】
1、修复删除相似或者重复图片BUG 2、修改提示框图片和文字间距 3、默认页面添加文字 4、修改首页不显示实时数量问题
parent
4abddffe
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
111 additions
and
38 deletions
+111
-38
AdvTipDeleteView.swift
...r/Class/Session/Advertisement/View/AdvTipDeleteView.swift
+10
-0
AdvTipSelectView.swift
...r/Class/Session/Advertisement/View/AdvTipSelectView.swift
+8
-0
HomeInfoViewController.swift
...lass/Session/Home/Controller/HomeInfoViewController.swift
+24
-3
HomePhotosDetailViewController.swift
...sion/Home/Controller/HomePhotosDetailViewController.swift
+18
-1
HomeVideoDetailController.swift
...s/Session/Home/Controller/HomeVideoDetailController.swift
+18
-1
HomeViewController.swift
...er/Class/Session/Home/Controller/HomeViewController.swift
+22
-14
HomeCollectionViewHeader.swift
...er/Class/Session/Home/View/HomeCollectionViewHeader.swift
+1
-4
HomeInfoView.swift
PhoneManager/Class/Session/Home/View/HomeInfoView.swift
+1
-5
HomeView.swift
PhoneManager/Class/Session/Home/View/HomeView.swift
+7
-4
HomePhotosModel .swift
...ager/Class/Session/Home/View/Model/HomePhotosModel .swift
+2
-6
No files found.
PhoneManager/Class/Session/Advertisement/View/AdvTipDeleteView.swift
View file @
b0e0d93b
...
...
@@ -106,6 +106,16 @@ class AdvTipDeleteView : UIView {
view
.
layer
.
cornerRadius
=
24
view
.
titleLabel
?
.
font
=
UIFont
.
systemFont
(
ofSize
:
16
,
weight
:
.
bold
)
view
.
setImage
(
UIImage
(
named
:
"ic_ad_pop"
),
for
:
.
normal
)
// 设置间距为 8
let
spacing
:
CGFloat
=
8
// 获取图片和文字的大小
let
imageSize
=
view
.
imageView
?
.
image
?
.
size
??
.
zero
let
titleSize
=
view
.
titleLabel
?
.
intrinsicContentSize
??
.
zero
// 计算 imageEdgeInsets 和 titleEdgeInsets
view
.
imageEdgeInsets
=
UIEdgeInsets
(
top
:
0
,
left
:
-
spacing
/
2
,
bottom
:
0
,
right
:
spacing
/
2
)
view
.
titleEdgeInsets
=
UIEdgeInsets
(
top
:
0
,
left
:
spacing
/
2
,
bottom
:
0
,
right
:
-
spacing
/
2
)
view
.
addTarget
(
self
,
action
:
#selector(
deleteMoreButtonSelect
)
,
for
:
.
touchUpInside
)
return
view
}()
...
...
PhoneManager/Class/Session/Advertisement/View/AdvTipSelectView.swift
View file @
b0e0d93b
...
...
@@ -95,6 +95,14 @@ class AdvTipSelectView : UIView {
view
.
layer
.
cornerRadius
=
24
view
.
titleLabel
?
.
font
=
UIFont
.
systemFont
(
ofSize
:
16
,
weight
:
.
bold
)
view
.
setImage
(
UIImage
(
named
:
"ic_ad_pop"
),
for
:
.
normal
)
// 设置间距为 8
let
spacing
:
CGFloat
=
8
// 获取图片和文字的大小
let
imageSize
=
view
.
imageView
?
.
image
?
.
size
??
.
zero
let
titleSize
=
view
.
titleLabel
?
.
intrinsicContentSize
??
.
zero
// 计算 imageEdgeInsets 和 titleEdgeInsets
view
.
imageEdgeInsets
=
UIEdgeInsets
(
top
:
0
,
left
:
-
spacing
/
2
,
bottom
:
0
,
right
:
spacing
/
2
)
view
.
titleEdgeInsets
=
UIEdgeInsets
(
top
:
0
,
left
:
spacing
/
2
,
bottom
:
0
,
right
:
-
spacing
/
2
)
view
.
addTarget
(
self
,
action
:
#selector(
buttonSureSelectAction
)
,
for
:
.
touchUpInside
)
return
view
}()
...
...
PhoneManager/Class/Session/Home/Controller/HomeInfoViewController.swift
View file @
b0e0d93b
...
...
@@ -69,6 +69,7 @@ class HomeInfoViewController:BaseViewController {
updateFreeTimes
()
}
// 删除缓存数据
PhotoDataManager
.
manager
.
removeDataWhenDeleteInPage
(
data
:
imgs
)
...
...
@@ -88,9 +89,12 @@ class HomeInfoViewController:BaseViewController {
self
?
.
ids
=
model
.
otherModelArray
[
1
]
.
assets
}
self
?
.
tablewView
.
ids
=
self
?
.
ids
self
?
.
tablewView
.
deleteModel
(
array
:
imgs
)
}
})
self
.
tablewView
.
deleteModel
(
array
:
imgs
)
// 更新下首页数据以及缓存数据
let
dataUpdated
=
Notification
.
Name
(
"DataUpdatedNotification"
)
NotificationCenter
.
default
.
post
(
name
:
dataUpdated
,
object
:
nil
,
userInfo
:
nil
)
func
updateFreeTimes
(){
...
...
@@ -219,6 +223,15 @@ class HomeInfoViewController:BaseViewController {
return
defaultImageView
}()
lazy
var
defaultTipLabel
:
UILabel
=
{
let
label
=
UILabel
()
label
.
text
=
"There are no new files to process"
label
.
textColor
=
UIColor
(
red
:
0.2
,
green
:
0.2
,
blue
:
0.2
,
alpha
:
1
)
label
.
font
=
UIFont
.
systemFont
(
ofSize
:
16
,
weight
:
.
bold
)
label
.
textAlignment
=
.
center
return
label
}()
var
ids
:
[[
AssetModel
]]?
var
titleText
:
String
?
...
...
@@ -261,10 +274,16 @@ class HomeInfoViewController:BaseViewController {
view
.
addSubview
(
self
.
defaultImageView
)
self
.
defaultImageView
.
snp
.
makeConstraints
{
make
in
make
.
width
.
height
.
equalTo
(
180
)
make
.
top
.
equalTo
(
292
)
make
.
top
.
equalTo
(
262
)
make
.
centerX
.
equalToSuperview
()
}
view
.
addSubview
(
self
.
defaultTipLabel
)
self
.
defaultTipLabel
.
snp
.
makeConstraints
{
make
in
make
.
width
.
equalToSuperview
()
make
.
height
.
equalTo
(
28
)
make
.
top
.
equalTo
(
self
.
defaultImageView
.
snp
.
bottom
)
.
offset
(
-
30
)
make
.
centerX
.
equalToSuperview
()
}
setDefaultPage
()
}
...
...
@@ -278,9 +297,11 @@ class HomeInfoViewController:BaseViewController {
self
.
defaultImageView
.
image
=
UIImage
(
named
:
"img_photo__home_defpage"
)
}
self
.
defaultImageView
.
isHidden
=
false
self
.
defaultTipLabel
.
isHidden
=
false
self
.
seletedAllBtn
.
isHidden
=
true
}
else
{
self
.
defaultImageView
.
isHidden
=
true
self
.
defaultTipLabel
.
isHidden
=
true
self
.
seletedAllBtn
.
isHidden
=
false
}
}
...
...
PhoneManager/Class/Session/Home/Controller/HomePhotosDetailViewController.swift
View file @
b0e0d93b
...
...
@@ -73,6 +73,14 @@ class HomePhotosDetailViewController : BaseViewController {
defaultImageView
.
isHidden
=
true
return
defaultImageView
}()
lazy
var
defaultTipLabel
:
UILabel
=
{
let
label
=
UILabel
()
label
.
text
=
"There are no new files to process"
label
.
textColor
=
UIColor
(
red
:
0.2
,
green
:
0.2
,
blue
:
0.2
,
alpha
:
1
)
label
.
font
=
UIFont
.
systemFont
(
ofSize
:
16
,
weight
:
.
bold
)
label
.
textAlignment
=
.
center
return
label
}()
lazy
var
collectionView
:
UICollectionView
=
{
...
...
@@ -158,7 +166,14 @@ class HomePhotosDetailViewController : BaseViewController {
self
.
view
.
addSubview
(
self
.
defaultImageView
)
self
.
defaultImageView
.
snp
.
makeConstraints
{
make
in
make
.
width
.
height
.
equalTo
(
180
)
make
.
top
.
equalTo
(
292
)
make
.
top
.
equalTo
(
262
)
make
.
centerX
.
equalToSuperview
()
}
self
.
view
.
addSubview
(
self
.
defaultTipLabel
)
self
.
defaultTipLabel
.
snp
.
makeConstraints
{
make
in
make
.
width
.
equalToSuperview
()
make
.
height
.
equalTo
(
28
)
make
.
top
.
equalTo
(
self
.
defaultImageView
.
snp
.
bottom
)
.
offset
(
-
30
)
make
.
centerX
.
equalToSuperview
()
}
setDefaultPage
()
...
...
@@ -172,11 +187,13 @@ class HomePhotosDetailViewController : BaseViewController {
DispatchQueue
.
main
.
async
{
if
self
.
resourceData
.
count
==
0
{
self
.
defaultImageView
.
isHidden
=
false
self
.
defaultTipLabel
.
isHidden
=
false
self
.
currentHeaderView
?
.
btnView
.
isHidden
=
true
self
.
videoDetailNavView
?
.
seletedAllBtn
.
isHidden
=
true
self
.
deleteButton
.
isHidden
=
true
}
else
{
self
.
defaultImageView
.
isHidden
=
true
self
.
defaultTipLabel
.
isHidden
=
true
self
.
currentHeaderView
?
.
btnView
.
isHidden
=
false
self
.
videoDetailNavView
?
.
seletedAllBtn
.
isHidden
=
false
self
.
deleteButton
.
isHidden
=
false
...
...
PhoneManager/Class/Session/Home/Controller/HomeVideoDetailController.swift
View file @
b0e0d93b
...
...
@@ -102,6 +102,14 @@ class HomeVideoDetailController :BaseViewController {
defaultImageView
.
isHidden
=
true
return
defaultImageView
}()
lazy
var
defaultTipLabel
:
UILabel
=
{
let
label
=
UILabel
()
label
.
text
=
"There are no new files to process"
label
.
textColor
=
UIColor
(
red
:
0.2
,
green
:
0.2
,
blue
:
0.2
,
alpha
:
1
)
label
.
font
=
UIFont
.
systemFont
(
ofSize
:
16
,
weight
:
.
bold
)
label
.
textAlignment
=
.
center
return
label
}()
func
setUI
(){
...
...
@@ -149,7 +157,14 @@ class HomeVideoDetailController :BaseViewController {
self
.
view
.
addSubview
(
self
.
defaultImageView
)
self
.
defaultImageView
.
snp
.
makeConstraints
{
make
in
make
.
width
.
height
.
equalTo
(
180
)
make
.
top
.
equalTo
(
292
)
make
.
top
.
equalTo
(
262
)
make
.
centerX
.
equalToSuperview
()
}
view
.
addSubview
(
self
.
defaultTipLabel
)
self
.
defaultTipLabel
.
snp
.
makeConstraints
{
make
in
make
.
width
.
equalToSuperview
()
make
.
height
.
equalTo
(
28
)
make
.
top
.
equalTo
(
self
.
defaultImageView
.
snp
.
bottom
)
.
offset
(
-
30
)
make
.
centerX
.
equalToSuperview
()
}
setDefaultPage
()
...
...
@@ -464,11 +479,13 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
DispatchQueue
.
main
.
async
{
if
self
.
resourceData
.
count
==
0
{
self
.
defaultImageView
.
isHidden
=
false
self
.
defaultTipLabel
.
isHidden
=
false
self
.
currentHeaderView
?
.
btnView
.
isHidden
=
true
self
.
videoDetailNavView
?
.
seletedAllBtn
.
isHidden
=
true
self
.
deleteButton
.
isHidden
=
true
}
else
{
self
.
defaultImageView
.
isHidden
=
true
self
.
defaultTipLabel
.
isHidden
=
true
self
.
currentHeaderView
?
.
btnView
.
isHidden
=
false
self
.
videoDetailNavView
?
.
seletedAllBtn
.
isHidden
=
false
self
.
deleteButton
.
isHidden
=
false
...
...
PhoneManager/Class/Session/Home/Controller/HomeViewController.swift
View file @
b0e0d93b
...
...
@@ -238,26 +238,34 @@ class HomeViewController:BaseViewController {
PhotoDataManager
.
manager
.
loadFromFileSystem
(
resultModel
:
{[
weak
self
]
model
in
DispatchQueue
.
main
.
async
{
self
?
.
homeView
?
.
model
=
model
if
let
collectionView
=
self
?
.
homeView
?
.
collectionView
{
for
section
in
0
..<
collectionView
.
numberOfSections
{
for
item
in
0
..<
collectionView
.
numberOfItems
(
inSection
:
section
)
{
if
section
==
0
||
section
==
1
{
if
let
cell
=
collectionView
.
cellForItem
(
at
:
IndexPath
(
row
:
item
,
section
:
section
))
as?
HomeTitleCollectionCell
{
UIView
.
transition
(
with
:
cell
.
collectionView
!
,
duration
:
0.3
,
options
:
.
transitionCrossDissolve
,
animations
:
{
cell
.
collectionView
?
.
reloadData
()
},
completion
:
nil
)
}
}
else
{
UIView
.
transition
(
with
:
collectionView
,
duration
:
0.3
,
options
:
.
transitionCrossDissolve
,
animations
:
{
self
?
.
homeView
?
.
collectionView
.
reloadItems
(
at
:
[
IndexPath
(
row
:
item
,
section
:
section
)])
self
?
.
reloadCollectionView
()
}
})
}
// 重新刷新下集合
func
reloadCollectionView
(){
DispatchQueue
.
main
.
async
{
if
let
collectionView
=
self
.
homeView
?
.
collectionView
{
for
section
in
0
..<
collectionView
.
numberOfSections
{
for
item
in
0
..<
collectionView
.
numberOfItems
(
inSection
:
section
)
{
if
section
==
0
||
section
==
1
{
if
let
cell
=
collectionView
.
cellForItem
(
at
:
IndexPath
(
row
:
item
,
section
:
section
))
as?
HomeTitleCollectionCell
{
UIView
.
transition
(
with
:
cell
.
collectionView
!
,
duration
:
0.3
,
options
:
.
transitionCrossDissolve
,
animations
:
{
cell
.
collectionView
?
.
reloadData
()
},
completion
:
nil
)
}
}
else
{
UIView
.
transition
(
with
:
collectionView
,
duration
:
0.3
,
options
:
.
transitionCrossDissolve
,
animations
:
{
self
.
homeView
?
.
collectionView
.
reloadItems
(
at
:
[
IndexPath
(
row
:
item
,
section
:
section
)])
},
completion
:
nil
)
}
}
}
}
}
)
}
}
...
...
PhoneManager/Class/Session/Home/View/HomeCollectionViewHeader.swift
View file @
b0e0d93b
...
...
@@ -43,7 +43,6 @@ class HomeCollectionViewHeader : UICollectionReusableView {
private
lazy
var
tipLabel
:
UILabel
=
{
let
label
=
UILabel
()
label
.
numberOfLines
=
0
// 支持多行
label
.
translatesAutoresizingMaskIntoConstraints
=
false
return
label
}()
...
...
@@ -57,8 +56,6 @@ class HomeCollectionViewHeader : UICollectionReusableView {
return
label
}()
private
func
setupUI
()
{
// logo图片
...
...
@@ -71,11 +68,11 @@ class HomeCollectionViewHeader : UICollectionReusableView {
// 文本
self
.
addSubview
(
self
.
tipLabel
)
self
.
setFileAndCount
(
count
:
0
,
fileSize
:
0
)
self
.
tipLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
make
.
top
.
equalToSuperview
()
.
offset
(
32
)
make
.
height
.
equalTo
(
31
)
make
.
width
.
equalTo
(
300
)
}
self
.
addSubview
(
self
.
subTiplabel
)
...
...
PhoneManager/Class/Session/Home/View/HomeInfoView.swift
View file @
b0e0d93b
...
...
@@ -205,7 +205,7 @@ class HomeInfoView :UIView{
temModel
.
type
=
models
[
i
]
.
type
temModel
.
smodels
=
updateSelectToDesSelect
(
data
:
arrayT
)
temModel
.
titleText
=
models
[
i
]
.
titleText
newModel
.
append
(
models
[
i
]
)
newModel
.
append
(
temModel
)
}
}
// 将新的数据全部改成未被选中状态
...
...
@@ -218,11 +218,7 @@ class HomeInfoView :UIView{
return
dataArray
}
self
.
models
=
newModel
// 更新下首页数据以及缓存数据
let
dataUpdated
=
Notification
.
Name
(
"DataUpdatedNotification"
)
NotificationCenter
.
default
.
post
(
name
:
dataUpdated
,
object
:
nil
,
userInfo
:
nil
)
DispatchQueue
.
main
.
async
{[
weak
self
]
in
guard
let
self
else
{
return
}
...
...
PhoneManager/Class/Session/Home/View/HomeView.swift
View file @
b0e0d93b
...
...
@@ -74,8 +74,9 @@ class HomeView:UIView {
guard
let
self
else
{
return
}
self
.
homeHeader
?
.
setFileAndCount
(
count
:
model
?
.
allFileNumber
??
0
,
fileSize
:
model
?
.
allFileSize
??
0
)
self
.
homeHeader
?
.
setNeedsLayout
()
self
.
homeHeader
?
.
layoutIfNeeded
()
}
}
private
func
setupUI
()
{
...
...
@@ -288,7 +289,11 @@ extension HomeView:WaterfallMutiSectionDelegate,UICollectionViewDataSource,UICol
func
collectionView
(
_
collectionView
:
UICollectionView
,
viewForSupplementaryElementOfKind
kind
:
String
,
at
indexPath
:
IndexPath
)
->
UICollectionReusableView
{
if
kind
==
UICollectionView
.
elementKindSectionHeader
{
let
header
=
collectionView
.
dequeueReusableSupplementaryView
(
ofKind
:
kind
,
withReuseIdentifier
:
"HomeCollectionViewHeader"
,
for
:
indexPath
)
as!
HomeCollectionViewHeader
self
.
homeHeader
=
header
if
indexPath
.
section
==
0
{
// 取第 0 个header
self
.
homeHeader
=
header
print
(
"Header view cached:
\(
self
.
homeHeader
!=
nil
)
"
)
}
header
.
cleanNowButtonCallback
=
{[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
let
smodel
=
self
.
model
?
.
titleModelArray
[
0
]
...
...
@@ -316,6 +321,4 @@ extension HomeView:WaterfallMutiSectionDelegate,UICollectionViewDataSource,UICol
}
return
CGSize
.
zero
}
}
PhoneManager/Class/Session/Home/View/Model/HomePhotosModel .swift
View file @
b0e0d93b
...
...
@@ -55,8 +55,6 @@ class PhotoDataManager {
size
=
size
+
Double
(
assModel
.
assetSize
)
}
model
.
otherModelArray
[
index
]
.
assets
=
finalyVideoData
// 处理完成保存下当前数据
self
.
saveToFileSystem
(
model
:
model
)
}
}
else
{
...
...
@@ -82,10 +80,7 @@ class PhotoDataManager {
}
model
.
otherModelArray
[
index
]
.
assets
=
finalyVideoData
model
.
otherModelArray
[
index
]
.
allFileSize
=
size
// 处理完成保存下
self
.
saveToFileSystem
(
model
:
model
)
}
}
for
index
in
0
..<
model
.
titleModelArray
.
count
{
// 删除相似截图和相似视频的缓存
...
...
@@ -108,8 +103,9 @@ class PhotoDataManager {
}
model
.
titleModelArray
[
index
]
.
assets
=
finalyVideoData
model
.
titleModelArray
[
index
]
.
allFileSize
=
size
self
.
saveToFileSystem
(
model
:
model
)
}
// 处理完成保存下当前数据
self
.
saveToFileSystem
(
model
:
model
)
})
// 将单利中的数据也删除
for
item
in
data
{
...
...
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