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
4a942378
Commit
4a942378
authored
May 22, 2025
by
CZ1004
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev_main' into dev_zhaoqian
* dev_main: ui 调整 fix bugs ui 调整 ui 调整
parents
af886a40
2b2f04df
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
196 additions
and
125 deletions
+196
-125
AppDelegate.swift
PhoneManager/AppDelegate.swift
+6
-1
GroupDatabase.swift
PhoneManager/Class/Database/GroupDatabase.swift
+3
-0
TrashDatabase.swift
PhoneManager/Class/Database/TrashDatabase.swift
+3
-0
PhotoManager.swift
PhoneManager/Class/Manager/PMPhotoManager/PhotoManager.swift
+19
-0
CompressController.swift
...r/Class/Page/Compress/Controller/CompressController.swift
+1
-1
PMHintsController.xib
PhoneManager/Class/Page/Hints/PMHintsController.xib
+8
-8
HomeInfoViewController.swift
...r/Class/Page/Home/Controller/HomeInfoViewController.swift
+12
-9
HomeVideoDetailController.swift
...lass/Page/Home/Controller/HomeVideoDetailController.swift
+24
-18
HomeCollectionViewHeader.swift
...nager/Class/Page/Home/View/HomeCollectionViewHeader.swift
+5
-5
HomeView.swift
PhoneManager/Class/Page/Home/View/HomeView.swift
+8
-12
HomeOtherCollectionCell.swift
...r/Class/Page/Home/View/cell/HomeOtherCollectionCell.swift
+12
-12
HomeTitleCollectionCell.swift
...r/Class/Page/Home/View/cell/HomeTitleCollectionCell.swift
+10
-11
HomeVideoCoverCell.swift
...anager/Class/Page/Home/View/cell/HomeVideoCoverCell.swift
+12
-12
HomePayView.swift
PhoneManager/Class/Page/Pay/View/HomePayView.swift
+2
-2
PMAnimationLoaing.json
...eManager/Class/Page/Public/Loading/PMAnimationLoaing.json
+1
-1
PMLoadingView.swift
PhoneManager/Class/Page/Public/Loading/PMLoadingView.swift
+65
-29
SettingNormalCell.swift
...eManager/Class/Page/Settings/View/SettingNormalCell.swift
+2
-2
SettingSwitchCell.swift
...eManager/Class/Page/Settings/View/SettingSwitchCell.swift
+2
-2
UIViewController+Extension.swift
...ass/Tool/Extension.swift/UIViewController+Extension.swift
+1
-0
No files found.
PhoneManager/AppDelegate.swift
View file @
4a942378
...
@@ -94,10 +94,15 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
...
@@ -94,10 +94,15 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
// ]
// ]
// let dic = attribution.jso
// let dic = attribution.jso
Print
(
"获取当前归因信息"
,
attribution
?
.
jsonResponse
as
Any
)
Print
(
"获取当前归因信息"
,
attribution
?
.
jsonResponse
as
Any
)
// APIReportManager.shared.startReport(type: .source_atrribute,ext: pram)
//APIReportManager.shared.startReport(type: .source_atrribute,ext: pram)
}
}
PMLoadingHUD
.
share
.
config
()
return
true
return
true
}
}
...
...
PhoneManager/Class/Database/GroupDatabase.swift
View file @
4a942378
...
@@ -187,6 +187,9 @@ class GroupDatabase {
...
@@ -187,6 +187,9 @@ class GroupDatabase {
// 根据mediaType查询数据
// 根据mediaType查询数据
func
queryByMediaType
(
_
mediaType
:
Int
)
->
[(
localIdentifier
:
String
,
assetSize
:
Double
,
createDate
:
Date
,
mediaType
:
Int
,
groupId
:
String
)]
{
func
queryByMediaType
(
_
mediaType
:
Int
)
->
[(
localIdentifier
:
String
,
assetSize
:
Double
,
createDate
:
Date
,
mediaType
:
Int
,
groupId
:
String
)]
{
if
PhotoManager
.
shared
.
permissionStatus
!=
.
authorized
{
return
[]
}
let
queryStatementString
=
"SELECT * FROM groups WHERE mediaType = ?;"
let
queryStatementString
=
"SELECT * FROM groups WHERE mediaType = ?;"
var
queryStatement
:
OpaquePointer
?
var
queryStatement
:
OpaquePointer
?
var
result
:
[(
localIdentifier
:
String
,
assetSize
:
Double
,
createDate
:
Date
,
mediaType
:
Int
,
groupId
:
String
)]
=
[]
var
result
:
[(
localIdentifier
:
String
,
assetSize
:
Double
,
createDate
:
Date
,
mediaType
:
Int
,
groupId
:
String
)]
=
[]
...
...
PhoneManager/Class/Database/TrashDatabase.swift
View file @
4a942378
...
@@ -183,6 +183,9 @@ class TrashDatabase {
...
@@ -183,6 +183,9 @@ class TrashDatabase {
// 根据mediaType查询数据
// 根据mediaType查询数据
func
queryByMediaType
(
_
mediaType
:
Int
)
->
[(
localIdentifier
:
String
,
assetSize
:
Double
,
createDate
:
Date
,
mediaType
:
Int
)]
{
func
queryByMediaType
(
_
mediaType
:
Int
)
->
[(
localIdentifier
:
String
,
assetSize
:
Double
,
createDate
:
Date
,
mediaType
:
Int
)]
{
if
PhotoManager
.
shared
.
permissionStatus
!=
.
authorized
{
return
[]
}
let
queryStatementString
=
"SELECT * FROM trash WHERE mediaType = ?;"
let
queryStatementString
=
"SELECT * FROM trash WHERE mediaType = ?;"
var
queryStatement
:
OpaquePointer
?
var
queryStatement
:
OpaquePointer
?
var
result
:
[(
localIdentifier
:
String
,
assetSize
:
Double
,
createDate
:
Date
,
mediaType
:
Int
)]
=
[]
var
result
:
[(
localIdentifier
:
String
,
assetSize
:
Double
,
createDate
:
Date
,
mediaType
:
Int
)]
=
[]
...
...
PhoneManager/Class/Manager/PMPhotoManager/PhotoManager.swift
View file @
4a942378
...
@@ -719,6 +719,25 @@ extension PhotoManager{
...
@@ -719,6 +719,25 @@ extension PhotoManager{
extension
PhotoManager
{
extension
PhotoManager
{
//调用系统删除
func
deleteAssets
(
localIdentifiers
:
[
String
],
suc
:
@escaping
()
->
())
{
// 获取要删除的 PHAsset
let
fetchResult
=
PHAsset
.
fetchAssets
(
withLocalIdentifiers
:
localIdentifiers
,
options
:
nil
)
// 开始删除操作
PHPhotoLibrary
.
shared
()
.
performChanges
({
// 创建删除请求
PHAssetChangeRequest
.
deleteAssets
(
fetchResult
)
})
{
success
,
error
in
if
success
{
suc
()
}
else
if
let
error
=
error
{
print
(
"删除失败:
\(
error
.
localizedDescription
)
"
)
PMLoadingHUD
.
share
.
disMiss
()
}
}
}
// 处理app图片删除
// 处理app图片删除
func
removeDataWhenDeleteInPage
(
data
:[
AssetModel
],
completionHandler
:
(()
->
Void
)?
=
nil
){
func
removeDataWhenDeleteInPage
(
data
:[
AssetModel
],
completionHandler
:
(()
->
Void
)?
=
nil
){
...
...
PhoneManager/Class/Page/Compress/Controller/CompressController.swift
View file @
4a942378
...
@@ -83,7 +83,7 @@ class CompressController : BaseViewController {
...
@@ -83,7 +83,7 @@ class CompressController : BaseViewController {
func
getViewData
(){
func
getViewData
(){
if
PhotoManager
.
shared
.
permissionStatus
==
.
denied
{
if
PhotoManager
.
shared
.
permissionStatus
==
.
denied
{
loadPermissView
(
CGRect
(
x
:
0
,
y
:
2
00
,
width
:
ScreenW
,
height
:
450
))
loadPermissView
(
CGRect
(
x
:
0
,
y
:
3
00
,
width
:
ScreenW
,
height
:
450
))
return
return
}
}
...
...
PhoneManager/Class/Page/Hints/PMHintsController.xib
View file @
4a942378
...
@@ -93,10 +93,10 @@
...
@@ -93,10 +93,10 @@
<rect
key=
"frame"
x=
"393"
y=
"0.0"
width=
"393"
height=
"613.33333333333337"
/>
<rect
key=
"frame"
x=
"393"
y=
"0.0"
width=
"393"
height=
"613.33333333333337"
/>
<subviews>
<subviews>
<stackView
opaque=
"NO"
contentMode=
"scaleToFill"
axis=
"vertical"
distribution=
"equalCentering"
spacing=
"15"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"2Yh-GL-Q2t"
>
<stackView
opaque=
"NO"
contentMode=
"scaleToFill"
axis=
"vertical"
distribution=
"equalCentering"
spacing=
"15"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"2Yh-GL-Q2t"
>
<rect
key=
"frame"
x=
"3
8"
y=
"5"
width=
"317"
height=
"433
.33333333333331"
/>
<rect
key=
"frame"
x=
"3
7.666666666666686"
y=
"30"
width=
"317.66666666666669"
height=
"408
.33333333333331"
/>
<subviews>
<subviews>
<label
opaque=
"NO"
userInteractionEnabled=
"NO"
contentMode=
"left"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
text=
"2 Similar"
textAlignment=
"natural"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"IhS-Gp-baN"
>
<label
hidden=
"YES"
opaque=
"NO"
userInteractionEnabled=
"NO"
contentMode=
"left"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
text=
"2 Similar"
textAlignment=
"natural"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"IhS-Gp-baN"
>
<rect
key=
"frame"
x=
"0.0"
y=
"
0.0"
width=
"317
"
height=
"16"
/>
<rect
key=
"frame"
x=
"0.0"
y=
"
-16"
width=
"317.66666666666669
"
height=
"16"
/>
<constraints>
<constraints>
<constraint
firstAttribute=
"height"
constant=
"16"
id=
"eb1-DU-oKO"
/>
<constraint
firstAttribute=
"height"
constant=
"16"
id=
"eb1-DU-oKO"
/>
</constraints>
</constraints>
...
@@ -105,13 +105,13 @@
...
@@ -105,13 +105,13 @@
<nil
key=
"highlightedColor"
/>
<nil
key=
"highlightedColor"
/>
</label>
</label>
<imageView
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"scaleToFill"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
image=
"tips_similar_1"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"kvj-jW-PoF"
>
<imageView
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"scaleToFill"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
image=
"tips_similar_1"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"kvj-jW-PoF"
>
<rect
key=
"frame"
x=
"0.0"
y=
"
31"
width=
"317"
height=
"178
"
/>
<rect
key=
"frame"
x=
"0.0"
y=
"
0.0"
width=
"317.66666666666669"
height=
"178.33333333333334
"
/>
<constraints>
<constraints>
<constraint
firstAttribute=
"width"
secondItem=
"kvj-jW-PoF"
secondAttribute=
"height"
multiplier=
"317:178"
id=
"IaD-TY-qFl"
/>
<constraint
firstAttribute=
"width"
secondItem=
"kvj-jW-PoF"
secondAttribute=
"height"
multiplier=
"317:178"
id=
"IaD-TY-qFl"
/>
</constraints>
</constraints>
</imageView>
</imageView>
<label
opaque=
"NO"
userInteractionEnabled=
"NO"
contentMode=
"left"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
text=
"2 Similar"
textAlignment=
"natural"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"GIs-vI-kWE"
>
<label
hidden=
"YES"
opaque=
"NO"
userInteractionEnabled=
"NO"
contentMode=
"left"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
text=
"2 Similar"
textAlignment=
"natural"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"GIs-vI-kWE"
>
<rect
key=
"frame"
x=
"0.0"
y=
"
224"
width=
"317"
height=
"16.333333333333343
"
/>
<rect
key=
"frame"
x=
"0.0"
y=
"
186"
width=
"317.66666666666669"
height=
"16
"
/>
<constraints>
<constraints>
<constraint
firstAttribute=
"height"
constant=
"16.329999999999998"
id=
"9nH-oa-mxO"
/>
<constraint
firstAttribute=
"height"
constant=
"16.329999999999998"
id=
"9nH-oa-mxO"
/>
</constraints>
</constraints>
...
@@ -120,7 +120,7 @@
...
@@ -120,7 +120,7 @@
<nil
key=
"highlightedColor"
/>
<nil
key=
"highlightedColor"
/>
</label>
</label>
<imageView
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"scaleToFill"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
image=
"tips_similar_2"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"x0D-ou-xRd"
>
<imageView
clipsSubviews=
"YES"
userInteractionEnabled=
"NO"
contentMode=
"scaleToFill"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
image=
"tips_similar_2"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"x0D-ou-xRd"
>
<rect
key=
"frame"
x=
"0.0"
y=
"2
55.33333333333331"
width=
"317"
height=
"178
"
/>
<rect
key=
"frame"
x=
"0.0"
y=
"2
30"
width=
"317.66666666666669"
height=
"178.33333333333337
"
/>
<constraints>
<constraints>
<constraint
firstAttribute=
"width"
secondItem=
"x0D-ou-xRd"
secondAttribute=
"height"
multiplier=
"317:178"
id=
"J9F-Fe-BXn"
/>
<constraint
firstAttribute=
"width"
secondItem=
"x0D-ou-xRd"
secondAttribute=
"height"
multiplier=
"317:178"
id=
"J9F-Fe-BXn"
/>
</constraints>
</constraints>
...
@@ -157,7 +157,7 @@
...
@@ -157,7 +157,7 @@
<constraint
firstAttribute=
"bottom"
secondItem=
"jsL-Yg-DRw"
secondAttribute=
"bottom"
constant=
"5"
id=
"43v-pu-Het"
/>
<constraint
firstAttribute=
"bottom"
secondItem=
"jsL-Yg-DRw"
secondAttribute=
"bottom"
constant=
"5"
id=
"43v-pu-Het"
/>
<constraint
firstAttribute=
"trailing"
secondItem=
"jsL-Yg-DRw"
secondAttribute=
"trailing"
constant=
"40"
id=
"5Ef-zt-VFy"
/>
<constraint
firstAttribute=
"trailing"
secondItem=
"jsL-Yg-DRw"
secondAttribute=
"trailing"
constant=
"40"
id=
"5Ef-zt-VFy"
/>
<constraint
firstItem=
"jsL-Yg-DRw"
firstAttribute=
"top"
secondItem=
"2Yh-GL-Q2t"
secondAttribute=
"bottom"
constant=
"55"
id=
"J8w-6L-NOv"
/>
<constraint
firstItem=
"jsL-Yg-DRw"
firstAttribute=
"top"
secondItem=
"2Yh-GL-Q2t"
secondAttribute=
"bottom"
constant=
"55"
id=
"J8w-6L-NOv"
/>
<constraint
firstItem=
"2Yh-GL-Q2t"
firstAttribute=
"top"
secondItem=
"hlo-KY-MjE"
secondAttribute=
"top"
constant=
"
5
"
id=
"YLv-9p-1VS"
/>
<constraint
firstItem=
"2Yh-GL-Q2t"
firstAttribute=
"top"
secondItem=
"hlo-KY-MjE"
secondAttribute=
"top"
constant=
"
30
"
id=
"YLv-9p-1VS"
/>
<constraint
firstItem=
"jsL-Yg-DRw"
firstAttribute=
"leading"
secondItem=
"hlo-KY-MjE"
secondAttribute=
"leading"
constant=
"40"
id=
"r4Y-Et-KLn"
/>
<constraint
firstItem=
"jsL-Yg-DRw"
firstAttribute=
"leading"
secondItem=
"hlo-KY-MjE"
secondAttribute=
"leading"
constant=
"40"
id=
"r4Y-Et-KLn"
/>
<constraint
firstItem=
"2Yh-GL-Q2t"
firstAttribute=
"centerX"
secondItem=
"hlo-KY-MjE"
secondAttribute=
"centerX"
id=
"wde-o8-kYH"
/>
<constraint
firstItem=
"2Yh-GL-Q2t"
firstAttribute=
"centerX"
secondItem=
"hlo-KY-MjE"
secondAttribute=
"centerX"
id=
"wde-o8-kYH"
/>
</constraints>
</constraints>
...
...
PhoneManager/Class/Page/Home/Controller/HomeInfoViewController.swift
View file @
4a942378
...
@@ -83,22 +83,22 @@ class HomeInfoViewController:BaseViewController {
...
@@ -83,22 +83,22 @@ class HomeInfoViewController:BaseViewController {
}
}
let
fetchs
=
PHAsset
.
fetchAssets
(
withLocalIdentifiers
:
tempStringArray
,
options
:
nil
)
let
fetchs
=
PHAsset
.
fetchAssets
(
withLocalIdentifiers
:
tempStringArray
,
options
:
nil
)
let
fileSize
=
FileTool
()
.
calculateTotalAssetSize
(
fetchResult
:
fetchs
)
let
fileSize
=
FileTool
()
.
calculateTotalAssetSize
(
fetchResult
:
fetchs
)
PhotoAndVideoMananger
.
deleteAssets
(
localIdentifiers
:
tempStringArray
)
{[
weak
self
]
in
PMLoadingHUD
.
share
.
show
()
PhotoManager
.
shared
.
deleteAssets
(
localIdentifiers
:
tempStringArray
)
{[
weak
self
]
in
guard
let
self
else
{
return
}
guard
let
self
else
{
return
}
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
1
.0
)
{
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
1
)
{
PMLoadingHUD
.
share
.
disMiss
()
PMLoadingHUD
.
share
.
disMiss
()
// 更新免费次数
// 更新免费次数
if
isAfterAdv
==
false
{
if
isAfterAdv
==
false
{
updateFreeTimes
()
updateFreeTimes
()
}
}
self
.
showDeleteSuccess
(
fileCount
:
tempStringArray
.
count
,
fileSize
:
fileSize
)
self
.
showDeleteSuccess
(
fileCount
:
tempStringArray
.
count
,
fileSize
:
fileSize
)
PhotoManager
.
shared
.
removeDataWhenDeleteInPage
(
data
:
imgs
)
PhotoManager
.
shared
.
removeDataWhenDeleteInPage
(
data
:
imgs
)
let
new
=
self
.
ids
?
.
removingElementsAndSmallGroups
(
ids
:
imgs
.
compactMap
{
$0
.
localIdentifier
})
let
new
=
self
.
ids
?
.
removingElementsAndSmallGroups
(
ids
:
imgs
.
compactMap
{
$0
.
localIdentifier
})
...
@@ -107,7 +107,7 @@ class HomeInfoViewController:BaseViewController {
...
@@ -107,7 +107,7 @@ class HomeInfoViewController:BaseViewController {
self
.
tablewView
.
ids
=
self
.
ids
self
.
tablewView
.
ids
=
self
.
ids
self
.
tablewView
.
deleteModel
(
array
:
imgs
)
self
.
tablewView
.
deleteModel
(
array
:
imgs
)
self
.
setDefaultPage
()
self
.
setDefaultPage
()
}
}
...
@@ -123,6 +123,9 @@ class HomeInfoViewController:BaseViewController {
...
@@ -123,6 +123,9 @@ class HomeInfoViewController:BaseViewController {
}
}
}
}
}
}
}
}
// 显示弹出框
// 显示弹出框
...
@@ -483,7 +486,7 @@ class HomeInfoViewController:BaseViewController {
...
@@ -483,7 +486,7 @@ class HomeInfoViewController:BaseViewController {
extension
UIViewController
{
extension
UIViewController
{
func
loadPermissView
(
_
frame
:
CGRect
=
CGRect
(
x
:
0
,
y
:
100
+
kSafeAreaInsets
.
top
,
width
:
ScreenW
,
height
:
45
0
)){
func
loadPermissView
(
_
frame
:
CGRect
=
CGRect
(
x
:
0
,
y
:
200
+
kSafeAreaInsets
.
top
,
width
:
ScreenW
,
height
:
34
0
)){
let
permissionView
=
Bundle
.
main
.
loadNibNamed
(
"PMPermissionView"
,
owner
:
nil
)?
.
last
as!
PMPermissionView
let
permissionView
=
Bundle
.
main
.
loadNibNamed
(
"PMPermissionView"
,
owner
:
nil
)?
.
last
as!
PMPermissionView
permissionView
.
frame
=
frame
permissionView
.
frame
=
frame
self
.
view
.
addSubview
(
permissionView
)
self
.
view
.
addSubview
(
permissionView
)
...
...
PhoneManager/Class/Page/Home/Controller/HomeVideoDetailController.swift
View file @
4a942378
...
@@ -681,29 +681,35 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
...
@@ -681,29 +681,35 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
let
fetchResult
=
PHAsset
.
fetchAssets
(
withLocalIdentifiers
:
self
.
selectedModel
.
map
{
$0
.
localIdentifier
},
options
:
nil
)
let
fetchResult
=
PHAsset
.
fetchAssets
(
withLocalIdentifiers
:
self
.
selectedModel
.
map
{
$0
.
localIdentifier
},
options
:
nil
)
let
fileSize
=
FileTool
()
.
calculateTotalAssetSize
(
fetchResult
:
fetchResult
)
let
fileSize
=
FileTool
()
.
calculateTotalAssetSize
(
fetchResult
:
fetchResult
)
PMLoadingHUD
.
share
.
show
()
PMLoadingHUD
.
share
.
show
()
PHPhotoLibrary
.
shared
()
.
performChanges
({
PHAssetChangeRequest
.
deleteAssets
(
fetchResult
as
NSFastEnumeration
)
CATransaction
.
begin
(
)
}){
success
,
error
in
CATransaction
.
setCompletionBlock
{
if
(
success
)
{
PHPhotoLibrary
.
shared
()
.
performChanges
(
{
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
1.0
)
{
PHAssetChangeRequest
.
deleteAssets
(
fetchResult
as
NSFastEnumeration
)
PMLoadingHUD
.
share
.
disMiss
()
}){
success
,
error
in
print
(
"删除文件成功"
)
if
(
success
){
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
1.0
)
{
if
isAfterAdv
==
false
{
PMLoadingHUD
.
share
.
disMiss
()
self
.
updateFreeTimes
(
)
print
(
"删除文件成功"
)
if
isAfterAdv
==
false
{
self
.
updateFreeTimes
()
}
self
.
showDeleteSuccess
(
fileCount
:
self
.
selectedModel
.
count
,
fileSize
:
fileSize
)
// 移除当前总数据源的数据
self
.
updateCurrentPageWhenDeleteAny
()
}
}
else
{
PMLoadingHUD
.
share
.
disMiss
()
if
let
error
=
error
{
print
(
"删除文件时出错:
\(
error
.
localizedDescription
)
"
)
}
}
self
.
showDeleteSuccess
(
fileCount
:
self
.
selectedModel
.
count
,
fileSize
:
fileSize
)
// 移除当前总数据源的数据
self
.
updateCurrentPageWhenDeleteAny
()
}
}
else
{
PMLoadingHUD
.
share
.
disMiss
()
if
let
error
=
error
{
print
(
"删除文件时出错:
\(
error
.
localizedDescription
)
"
)
}
}
}
}
}
}
CATransaction
.
commit
()
}
}
// 删除成功页面
// 删除成功页面
...
...
PhoneManager/Class/Page/Home/View/HomeCollectionViewHeader.swift
View file @
4a942378
...
@@ -102,7 +102,7 @@ extension HomeCollectionViewHeader{
...
@@ -102,7 +102,7 @@ extension HomeCollectionViewHeader{
// 设置整体文本样式
// 设置整体文本样式
let
fullTextAttributes
:
[
NSAttributedString
.
Key
:
Any
]
=
[
let
fullTextAttributes
:
[
NSAttributedString
.
Key
:
Any
]
=
[
.
font
:
UIFont
.
systemFont
(
ofSize
:
1
2
,
weight
:
.
regular
),
.
font
:
UIFont
.
systemFont
(
ofSize
:
1
4
,
weight
:
.
regular
),
.
foregroundColor
:
UIColor
(
red
:
0.4
,
green
:
0.4
,
blue
:
0.4
,
alpha
:
1
)
.
foregroundColor
:
UIColor
(
red
:
0.4
,
green
:
0.4
,
blue
:
0.4
,
alpha
:
1
)
]
]
attributedText
.
addAttributes
(
fullTextAttributes
,
range
:
NSRange
(
location
:
0
,
length
:
text
.
count
))
attributedText
.
addAttributes
(
fullTextAttributes
,
range
:
NSRange
(
location
:
0
,
length
:
text
.
count
))
...
@@ -111,8 +111,8 @@ extension HomeCollectionViewHeader{
...
@@ -111,8 +111,8 @@ extension HomeCollectionViewHeader{
if
let
range1
=
text
.
range
(
of
:
countString
)
{
if
let
range1
=
text
.
range
(
of
:
countString
)
{
let
nsRange1
=
NSRange
(
range1
,
in
:
text
)
let
nsRange1
=
NSRange
(
range1
,
in
:
text
)
attributedText
.
addAttributes
([
attributedText
.
addAttributes
([
.
foregroundColor
:
UIColor
.
colorWithHex
(
hexStr
:
black6
Color
),
.
foregroundColor
:
UIColor
.
colorWithHex
(
hexStr
:
m
Color
),
.
font
:
UIFont
.
systemFont
(
ofSize
:
1
2
,
weight
:
.
semibold
)
.
font
:
UIFont
.
systemFont
(
ofSize
:
1
4
,
weight
:
.
semibold
)
],
range
:
nsRange1
)
],
range
:
nsRange1
)
}
}
...
@@ -120,8 +120,8 @@ extension HomeCollectionViewHeader{
...
@@ -120,8 +120,8 @@ extension HomeCollectionViewHeader{
if
let
range2
=
text
.
range
(
of
:
fileSizeString
)
{
if
let
range2
=
text
.
range
(
of
:
fileSizeString
)
{
let
nsRange2
=
NSRange
(
range2
,
in
:
text
)
let
nsRange2
=
NSRange
(
range2
,
in
:
text
)
attributedText
.
addAttributes
([
attributedText
.
addAttributes
([
.
font
:
UIFont
.
systemFont
(
ofSize
:
1
2
,
weight
:
.
semibold
),
.
font
:
UIFont
.
systemFont
(
ofSize
:
1
4
,
weight
:
.
semibold
),
.
foregroundColor
:
UIColor
.
colorWithHex
(
hexStr
:
black6
Color
)
.
foregroundColor
:
UIColor
.
colorWithHex
(
hexStr
:
m
Color
)
],
range
:
nsRange2
)
],
range
:
nsRange2
)
}
}
return
attributedText
return
attributedText
...
...
PhoneManager/Class/Page/Home/View/HomeView.swift
View file @
4a942378
...
@@ -302,20 +302,16 @@ extension HomeView:WaterfallMutiSectionDelegate,UICollectionViewDataSource,UICol
...
@@ -302,20 +302,16 @@ extension HomeView:WaterfallMutiSectionDelegate,UICollectionViewDataSource,UICol
if
indexPath
.
section
==
0
{
if
indexPath
.
section
==
0
{
let
model
=
viewModel
.
headerGroup
[
indexPath
.
row
]
//model?.titleModelArray[indexPath.row]
let
model
=
viewModel
.
headerGroup
[
indexPath
.
row
]
//model?.titleModelArray[indexPath.row]
if
model
.
assets
.
count
>
0
{
if
model
.
assets
.
count
>
0
{
return
(
model
.
assets
.
first
?
.
count
??
0
)
>
2
?
((
collection
.
width
-
marginLR
-
20
)
/
2.
5
)
+
64
:
((
collection
.
width
-
2
*
marginLR
-
10
)
/
2
)
+
64
return
(
model
.
assets
.
first
?
.
count
??
0
)
>
2
?
((
collection
.
width
-
marginLR
-
20
)
/
2.
2
)
+
64
:
((
collection
.
width
-
2
*
marginLR
-
10
)
/
2
)
+
64
}
else
{
}
else
{
return
52
return
38
}
}
}
else
{
}
else
{
let
model
=
viewModel
.
cardGroup
[
indexPath
.
row
]
//model?.otherModelArray[indexPath.row]
let
model
=
viewModel
.
cardGroup
[
indexPath
.
row
]
//model?.otherModelArray[indexPath.row]
return
itemWidth
+
12
+
UILabel
.
getSizeWith
(
font
:
UIFont
.
systemFont
(
ofSize
:
16
,
weight
:
.
bold
),
lineSpacing
:
5
,
width
:
itemWidth
-
32
,
numberOfLines
:
0
,
content
:
model
.
folderName
)
.
height
return
itemWidth
+
12
+
UILabel
.
getSizeWith
(
font
:
UIFont
.
systemFont
(
ofSize
:
16
,
weight
:
.
bold
),
lineSpacing
:
5
,
width
:
itemWidth
-
32
,
numberOfLines
:
0
,
content
:
model
.
folderName
)
.
height
}
}
}
}
...
@@ -343,7 +339,7 @@ extension HomeView:WaterfallMutiSectionDelegate,UICollectionViewDataSource,UICol
...
@@ -343,7 +339,7 @@ extension HomeView:WaterfallMutiSectionDelegate,UICollectionViewDataSource,UICol
switch
section
{
switch
section
{
case
1
:
case
1
:
return
11
return
5
default
:
default
:
return
0
return
0
...
@@ -446,7 +442,7 @@ extension HomeView{
...
@@ -446,7 +442,7 @@ extension HomeView{
// 设置整体文本样式
// 设置整体文本样式
let
fullTextAttributes
:
[
NSAttributedString
.
Key
:
Any
]
=
[
let
fullTextAttributes
:
[
NSAttributedString
.
Key
:
Any
]
=
[
.
font
:
UIFont
.
systemFont
(
ofSize
:
1
2
,
weight
:
.
regular
),
.
font
:
UIFont
.
systemFont
(
ofSize
:
1
4
,
weight
:
.
regular
),
.
foregroundColor
:
UIColor
(
red
:
0.4
,
green
:
0.4
,
blue
:
0.4
,
alpha
:
1
)
.
foregroundColor
:
UIColor
(
red
:
0.4
,
green
:
0.4
,
blue
:
0.4
,
alpha
:
1
)
]
]
attributedText
.
addAttributes
(
fullTextAttributes
,
range
:
NSRange
(
location
:
0
,
length
:
text
.
count
))
attributedText
.
addAttributes
(
fullTextAttributes
,
range
:
NSRange
(
location
:
0
,
length
:
text
.
count
))
...
@@ -455,8 +451,8 @@ extension HomeView{
...
@@ -455,8 +451,8 @@ extension HomeView{
if
let
range1
=
text
.
range
(
of
:
countString
)
{
if
let
range1
=
text
.
range
(
of
:
countString
)
{
let
nsRange1
=
NSRange
(
range1
,
in
:
text
)
let
nsRange1
=
NSRange
(
range1
,
in
:
text
)
attributedText
.
addAttributes
([
attributedText
.
addAttributes
([
.
foregroundColor
:
UIColor
.
colorWithHex
(
hexStr
:
black6
Color
),
.
foregroundColor
:
UIColor
.
colorWithHex
(
hexStr
:
m
Color
),
.
font
:
UIFont
.
systemFont
(
ofSize
:
1
2
,
weight
:
.
semibold
)
.
font
:
UIFont
.
systemFont
(
ofSize
:
1
4
,
weight
:
.
regular
)
],
range
:
nsRange1
)
],
range
:
nsRange1
)
}
}
...
@@ -464,8 +460,8 @@ extension HomeView{
...
@@ -464,8 +460,8 @@ extension HomeView{
if
let
range2
=
text
.
range
(
of
:
fileSizeString
)
{
if
let
range2
=
text
.
range
(
of
:
fileSizeString
)
{
let
nsRange2
=
NSRange
(
range2
,
in
:
text
)
let
nsRange2
=
NSRange
(
range2
,
in
:
text
)
attributedText
.
addAttributes
([
attributedText
.
addAttributes
([
.
font
:
UIFont
.
systemFont
(
ofSize
:
1
2
,
weight
:
.
semibold
),
.
font
:
UIFont
.
systemFont
(
ofSize
:
1
4
,
weight
:
.
regular
),
.
foregroundColor
:
UIColor
.
colorWithHex
(
hexStr
:
black6
Color
)
.
foregroundColor
:
UIColor
.
colorWithHex
(
hexStr
:
m
Color
)
],
range
:
nsRange2
)
],
range
:
nsRange2
)
}
}
return
attributedText
return
attributedText
...
...
PhoneManager/Class/Page/Home/View/cell/HomeOtherCollectionCell.swift
View file @
4a942378
...
@@ -17,7 +17,7 @@ class HomeOtherCollectionCell: UICollectionViewCell {
...
@@ -17,7 +17,7 @@ class HomeOtherCollectionCell: UICollectionViewCell {
let
iv
=
UIImageView
()
let
iv
=
UIImageView
()
iv
.
contentMode
=
.
scaleAspectFill
iv
.
contentMode
=
.
scaleAspectFill
iv
.
clipsToBounds
=
true
iv
.
clipsToBounds
=
true
iv
.
layer
.
cornerRadius
=
8
iv
.
layer
.
cornerRadius
=
12
iv
.
backgroundColor
=
.
clear
iv
.
backgroundColor
=
.
clear
return
iv
return
iv
}()
}()
...
@@ -25,8 +25,8 @@ class HomeOtherCollectionCell: UICollectionViewCell {
...
@@ -25,8 +25,8 @@ class HomeOtherCollectionCell: UICollectionViewCell {
private
let
infoBackView
:
UIView
=
{
private
let
infoBackView
:
UIView
=
{
let
iv
=
UIView
()
let
iv
=
UIView
()
iv
.
clipsToBounds
=
true
iv
.
clipsToBounds
=
true
iv
.
layer
.
cornerRadius
=
8
iv
.
layer
.
cornerRadius
=
12
iv
.
backgroundColor
=
UIColor
(
red
:
0
,
green
:
0
,
blue
:
0
,
alpha
:
0.
4
)
iv
.
backgroundColor
=
UIColor
(
red
:
0
,
green
:
0
,
blue
:
0
,
alpha
:
0.
3
)
return
iv
return
iv
}()
}()
...
@@ -34,7 +34,7 @@ class HomeOtherCollectionCell: UICollectionViewCell {
...
@@ -34,7 +34,7 @@ class HomeOtherCollectionCell: UICollectionViewCell {
public
var
countLabel
:
UILabel
=
{
public
var
countLabel
:
UILabel
=
{
let
label
=
UILabel
()
let
label
=
UILabel
()
label
.
textColor
=
.
white
label
.
textColor
=
.
white
label
.
font
=
.
systemFont
(
ofSize
:
14
,
weight
:
.
medium
)
label
.
font
=
.
systemFont
(
ofSize
:
14
,
weight
:
.
bold
)
label
.
textAlignment
=
.
left
label
.
textAlignment
=
.
left
return
label
return
label
}()
}()
...
@@ -42,7 +42,7 @@ class HomeOtherCollectionCell: UICollectionViewCell {
...
@@ -42,7 +42,7 @@ class HomeOtherCollectionCell: UICollectionViewCell {
let
sizeLabel
:
UILabel
=
{
let
sizeLabel
:
UILabel
=
{
let
label
=
UILabel
()
let
label
=
UILabel
()
label
.
textColor
=
.
white
label
.
textColor
=
.
white
label
.
font
=
.
systemFont
(
ofSize
:
10
,
weight
:
.
medium
)
label
.
font
=
.
systemFont
(
ofSize
:
10
,
weight
:
.
regular
)
label
.
textAlignment
=
.
left
label
.
textAlignment
=
.
left
return
label
return
label
}()
}()
...
@@ -57,7 +57,7 @@ class HomeOtherCollectionCell: UICollectionViewCell {
...
@@ -57,7 +57,7 @@ class HomeOtherCollectionCell: UICollectionViewCell {
private
let
titleLabel
:
UILabel
=
{
private
let
titleLabel
:
UILabel
=
{
let
label
=
UILabel
()
let
label
=
UILabel
()
label
.
font
=
.
systemFont
(
ofSize
:
1
6
,
weight
:
.
bold
)
label
.
font
=
.
systemFont
(
ofSize
:
1
8
,
weight
:
.
semi
bold
)
label
.
textColor
=
UIColor
.
colorWithHex
(
hexStr
:
black3Color
)
label
.
textColor
=
UIColor
.
colorWithHex
(
hexStr
:
black3Color
)
label
.
textAlignment
=
.
left
label
.
textAlignment
=
.
left
label
.
numberOfLines
=
0
label
.
numberOfLines
=
0
...
@@ -342,9 +342,9 @@ class HomeOtherCollectionCell: UICollectionViewCell {
...
@@ -342,9 +342,9 @@ class HomeOtherCollectionCell: UICollectionViewCell {
imageView
.
snp
.
makeConstraints
{
make
in
imageView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
self
.
titleLabel
.
snp
.
bottom
)
.
offset
(
8
)
make
.
top
.
equalTo
(
self
.
titleLabel
.
snp
.
bottom
)
.
offset
(
8
)
make
.
left
.
equalToSuperview
()
.
offset
(
16
)
make
.
left
.
equalToSuperview
()
.
offset
(
8
)
make
.
width
.
equalToSuperview
()
.
offset
(
-
32
)
make
.
width
.
equalToSuperview
()
.
offset
(
-
16
)
make
.
height
.
equalTo
(
self
.
width
-
32
)
make
.
height
.
equalTo
(
self
.
width
-
16
)
}
}
self
.
infoBackView
.
snp
.
makeConstraints
{
make
in
self
.
infoBackView
.
snp
.
makeConstraints
{
make
in
...
@@ -361,8 +361,8 @@ class HomeOtherCollectionCell: UICollectionViewCell {
...
@@ -361,8 +361,8 @@ class HomeOtherCollectionCell: UICollectionViewCell {
titleLabel
.
snp
.
makeConstraints
{
make
in
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
top
.
equalToSuperview
()
.
offset
(
16
)
make
.
left
.
top
.
equalToSuperview
()
.
offset
(
8
)
make
.
width
.
equalToSuperview
()
.
offset
(
-
32
)
make
.
width
.
equalToSuperview
()
.
offset
(
-
16
)
}
}
self
.
countLabel
.
snp
.
makeConstraints
{
make
in
self
.
countLabel
.
snp
.
makeConstraints
{
make
in
...
@@ -377,7 +377,7 @@ class HomeOtherCollectionCell: UICollectionViewCell {
...
@@ -377,7 +377,7 @@ class HomeOtherCollectionCell: UICollectionViewCell {
}
}
self
.
moreImageView
.
snp
.
makeConstraints
{
make
in
self
.
moreImageView
.
snp
.
makeConstraints
{
make
in
make
.
width
.
height
.
equalTo
(
20
)
make
.
width
.
height
.
equalTo
(
20
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
12
)
make
.
left
.
equalTo
(
countLabel
.
snp
.
right
)
.
offset
(
7
)
make
.
centerY
.
equalToSuperview
()
make
.
centerY
.
equalToSuperview
()
}
}
}
}
...
...
PhoneManager/Class/Page/Home/View/cell/HomeTitleCollectionCell.swift
View file @
4a942378
...
@@ -46,7 +46,6 @@ class HomeTitleCollectionCell:UICollectionViewCell {
...
@@ -46,7 +46,6 @@ class HomeTitleCollectionCell:UICollectionViewCell {
self
.
layer
.
cornerRadius
=
12
self
.
layer
.
cornerRadius
=
12
self
.
layer
.
masksToBounds
=
true
self
.
layer
.
masksToBounds
=
true
titleLabel
=
UILabel
()
titleLabel
=
UILabel
()
titleLabel
.
font
=
UIFont
.
systemFont
(
ofSize
:
18
,
weight
:
.
bold
)
titleLabel
.
font
=
UIFont
.
systemFont
(
ofSize
:
18
,
weight
:
.
bold
)
titleLabel
.
textColor
=
UIColor
.
colorWithHex
(
hexStr
:
black3Color
)
titleLabel
.
textColor
=
UIColor
.
colorWithHex
(
hexStr
:
black3Color
)
...
@@ -57,7 +56,7 @@ class HomeTitleCollectionCell:UICollectionViewCell {
...
@@ -57,7 +56,7 @@ class HomeTitleCollectionCell:UICollectionViewCell {
let
flowlayout
:
UICollectionViewFlowLayout
=
UICollectionViewFlowLayout
()
let
flowlayout
:
UICollectionViewFlowLayout
=
UICollectionViewFlowLayout
()
flowlayout
.
scrollDirection
=
.
horizontal
flowlayout
.
scrollDirection
=
.
horizontal
flowlayout
.
minimumLineSpacing
=
10
flowlayout
.
minimumLineSpacing
=
4
collectionView
=
UICollectionView
.
init
(
frame
:
CGRectMake
(
0
,
0
,
ScreenW
,
ScreenH
),
collectionViewLayout
:
flowlayout
)
collectionView
=
UICollectionView
.
init
(
frame
:
CGRectMake
(
0
,
0
,
ScreenW
,
ScreenH
),
collectionViewLayout
:
flowlayout
)
collectionView
?
.
backgroundColor
=
.
clear
collectionView
?
.
backgroundColor
=
.
clear
...
@@ -67,7 +66,7 @@ class HomeTitleCollectionCell:UICollectionViewCell {
...
@@ -67,7 +66,7 @@ class HomeTitleCollectionCell:UICollectionViewCell {
collectionView
?
.
showsVerticalScrollIndicator
=
false
collectionView
?
.
showsVerticalScrollIndicator
=
false
collectionView
?
.
register
(
ImageCollectionCell
.
self
,
forCellWithReuseIdentifier
:
ImageCollectionCell
.
identifiers
)
collectionView
?
.
register
(
ImageCollectionCell
.
self
,
forCellWithReuseIdentifier
:
ImageCollectionCell
.
identifiers
)
collectionView
?
.
contentInset
=
UIEdgeInsets
(
top
:
0
,
left
:
0
,
bottom
:
0
,
right
:
marginLR
)
collectionView
?
.
contentInset
=
UIEdgeInsets
(
top
:
8
,
left
:
0
,
bottom
:
8
,
right
:
marginLR
)
collectionView
?
.
dataSource
=
self
collectionView
?
.
dataSource
=
self
collectionView
?
.
delegate
=
self
collectionView
?
.
delegate
=
self
...
@@ -157,7 +156,7 @@ class HomeTitleCollectionCell:UICollectionViewCell {
...
@@ -157,7 +156,7 @@ class HomeTitleCollectionCell:UICollectionViewCell {
titleLabel
.
snp
.
makeConstraints
({
make
in
titleLabel
.
snp
.
makeConstraints
({
make
in
make
.
top
.
left
.
equalTo
(
16
)
make
.
top
.
left
.
equalTo
(
8
)
})
})
titleLabel
.
sizeToFit
()
titleLabel
.
sizeToFit
()
...
@@ -171,16 +170,16 @@ class HomeTitleCollectionCell:UICollectionViewCell {
...
@@ -171,16 +170,16 @@ class HomeTitleCollectionCell:UICollectionViewCell {
fileLabel
?
.
sizeToFit
()
fileLabel
?
.
sizeToFit
()
collectionView
?
.
snp
.
makeConstraints
({
make
in
collectionView
?
.
snp
.
makeConstraints
({
make
in
make
.
left
.
equalTo
(
16
)
make
.
left
.
equalTo
(
8
)
make
.
bottom
.
equalTo
(
0
)
make
.
bottom
.
equalTo
(
0
)
make
.
right
.
equalTo
(
-
16
)
make
.
right
.
equalTo
(
-
8
)
make
.
top
.
equalTo
(
titleLabel
.
snp
.
bottom
)
.
offset
(
13
)
make
.
top
.
equalTo
(
titleLabel
.
snp
.
bottom
)
.
offset
(
0
)
})
})
nextImage
?
.
snp
.
makeConstraints
({
make
in
nextImage
?
.
snp
.
makeConstraints
({
make
in
make
.
centerY
.
equalTo
(
fileLabel
!
)
make
.
centerY
.
equalTo
(
fileLabel
!
)
make
.
right
.
equalTo
(
-
12
)
make
.
right
.
equalTo
Superview
()
.
inset
(
12
)
make
.
width
.
height
.
equalTo
(
20
)
make
.
width
.
height
.
equalTo
(
20
)
})
})
}
}
...
@@ -205,13 +204,13 @@ extension HomeTitleCollectionCell:UICollectionViewDelegate,UICollectionViewDataS
...
@@ -205,13 +204,13 @@ extension HomeTitleCollectionCell:UICollectionViewDelegate,UICollectionViewDataS
func
collectionView
(
_
collectionView
:
UICollectionView
,
layout
collectionViewLayout
:
UICollectionViewLayout
,
sizeForItemAt
indexPath
:
IndexPath
)
->
CGSize
{
func
collectionView
(
_
collectionView
:
UICollectionView
,
layout
collectionViewLayout
:
UICollectionViewLayout
,
sizeForItemAt
indexPath
:
IndexPath
)
->
CGSize
{
// 计算 cell 宽度
// 计算 cell 宽度
let
width
=
max
(
0
,
collectionView
.
height
-
1
8
)
// 使用实际的宽度计算方法
let
width
=
max
(
0
,
collectionView
.
height
-
1
6
)
// 使用实际的宽度计算方法
let
height
=
max
(
0
,
collectionView
.
height
-
18
)
// 使用实际的高度计算方法
let
height
=
max
(
0
,
collectionView
.
height
-
16
)
// 使用实际的高度计算方法
return
CGSize
(
width
:
width
,
height
:
height
)
// 宽高相等,形成网格
return
CGSize
(
width
:
width
,
height
:
height
)
// 宽高相等,形成网格
}
}
func
collectionView
(
_
collectionView
:
UICollectionView
,
layout
collectionViewLayout
:
UICollectionViewLayout
,
minimumInteritemSpacingForSectionAt
section
:
Int
)
->
CGFloat
{
func
collectionView
(
_
collectionView
:
UICollectionView
,
layout
collectionViewLayout
:
UICollectionViewLayout
,
minimumInteritemSpacingForSectionAt
section
:
Int
)
->
CGFloat
{
return
10
// 设置列间距
return
4
// 设置列间距
}
}
func
collectionView
(
_
collectionView
:
UICollectionView
,
didSelectItemAt
indexPath
:
IndexPath
)
{
func
collectionView
(
_
collectionView
:
UICollectionView
,
didSelectItemAt
indexPath
:
IndexPath
)
{
homeTititlAction
(
1
)
homeTititlAction
(
1
)
...
...
PhoneManager/Class/Page/Home/View/cell/HomeVideoCoverCell.swift
View file @
4a942378
...
@@ -84,7 +84,7 @@ class HomeVideoCoverCell: UICollectionViewCell {
...
@@ -84,7 +84,7 @@ class HomeVideoCoverCell: UICollectionViewCell {
let
iv
=
UIImageView
()
let
iv
=
UIImageView
()
iv
.
contentMode
=
.
scaleAspectFill
iv
.
contentMode
=
.
scaleAspectFill
iv
.
clipsToBounds
=
true
iv
.
clipsToBounds
=
true
iv
.
layer
.
cornerRadius
=
8
iv
.
layer
.
cornerRadius
=
12
iv
.
backgroundColor
=
.
clear
iv
.
backgroundColor
=
.
clear
return
iv
return
iv
}()
}()
...
@@ -92,8 +92,8 @@ class HomeVideoCoverCell: UICollectionViewCell {
...
@@ -92,8 +92,8 @@ class HomeVideoCoverCell: UICollectionViewCell {
private
let
infoBackView
:
UIView
=
{
private
let
infoBackView
:
UIView
=
{
let
iv
=
UIView
()
let
iv
=
UIView
()
iv
.
clipsToBounds
=
true
iv
.
clipsToBounds
=
true
iv
.
layer
.
cornerRadius
=
8
iv
.
layer
.
cornerRadius
=
12
iv
.
backgroundColor
=
UIColor
(
red
:
0
,
green
:
0
,
blue
:
0
,
alpha
:
0.
4
)
iv
.
backgroundColor
=
UIColor
(
red
:
0
,
green
:
0
,
blue
:
0
,
alpha
:
0.
3
)
return
iv
return
iv
}()
}()
...
@@ -101,7 +101,7 @@ class HomeVideoCoverCell: UICollectionViewCell {
...
@@ -101,7 +101,7 @@ class HomeVideoCoverCell: UICollectionViewCell {
public
var
countLabel
:
UILabel
=
{
public
var
countLabel
:
UILabel
=
{
let
label
=
UILabel
()
let
label
=
UILabel
()
label
.
textColor
=
.
white
label
.
textColor
=
.
white
label
.
font
=
.
systemFont
(
ofSize
:
14
,
weight
:
.
medium
)
label
.
font
=
.
systemFont
(
ofSize
:
14
,
weight
:
.
bold
)
label
.
textAlignment
=
.
left
label
.
textAlignment
=
.
left
return
label
return
label
}()
}()
...
@@ -109,7 +109,7 @@ class HomeVideoCoverCell: UICollectionViewCell {
...
@@ -109,7 +109,7 @@ class HomeVideoCoverCell: UICollectionViewCell {
let
sizeLabel
:
UILabel
=
{
let
sizeLabel
:
UILabel
=
{
let
label
=
UILabel
()
let
label
=
UILabel
()
label
.
textColor
=
.
white
label
.
textColor
=
.
white
label
.
font
=
.
systemFont
(
ofSize
:
10
,
weight
:
.
medium
)
label
.
font
=
.
systemFont
(
ofSize
:
10
,
weight
:
.
regular
)
label
.
textAlignment
=
.
left
label
.
textAlignment
=
.
left
return
label
return
label
}()
}()
...
@@ -124,7 +124,7 @@ class HomeVideoCoverCell: UICollectionViewCell {
...
@@ -124,7 +124,7 @@ class HomeVideoCoverCell: UICollectionViewCell {
private
let
titleLabel
:
UILabel
=
{
private
let
titleLabel
:
UILabel
=
{
let
label
=
UILabel
()
let
label
=
UILabel
()
label
.
font
=
.
systemFont
(
ofSize
:
1
6
,
weight
:
.
bold
)
label
.
font
=
.
systemFont
(
ofSize
:
1
8
,
weight
:
.
semi
bold
)
label
.
textColor
=
UIColor
.
colorWithHex
(
hexStr
:
black3Color
)
label
.
textColor
=
UIColor
.
colorWithHex
(
hexStr
:
black3Color
)
label
.
textAlignment
=
.
left
label
.
textAlignment
=
.
left
label
.
numberOfLines
=
0
label
.
numberOfLines
=
0
...
@@ -138,9 +138,9 @@ class HomeVideoCoverCell: UICollectionViewCell {
...
@@ -138,9 +138,9 @@ class HomeVideoCoverCell: UICollectionViewCell {
imageView
.
snp
.
makeConstraints
{
make
in
imageView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
self
.
titleLabel
.
snp
.
bottom
)
.
offset
(
8
)
make
.
top
.
equalTo
(
self
.
titleLabel
.
snp
.
bottom
)
.
offset
(
8
)
make
.
left
.
equalToSuperview
()
.
offset
(
16
)
make
.
left
.
equalToSuperview
()
.
offset
(
8
)
make
.
width
.
equalToSuperview
()
.
offset
(
-
32
)
make
.
width
.
equalToSuperview
()
.
offset
(
-
16
)
make
.
height
.
equalTo
(
self
.
width
-
32
)
make
.
height
.
equalTo
(
self
.
width
-
16
)
}
}
self
.
infoBackView
.
snp
.
makeConstraints
{
make
in
self
.
infoBackView
.
snp
.
makeConstraints
{
make
in
...
@@ -151,8 +151,8 @@ class HomeVideoCoverCell: UICollectionViewCell {
...
@@ -151,8 +151,8 @@ class HomeVideoCoverCell: UICollectionViewCell {
titleLabel
.
snp
.
makeConstraints
{
make
in
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
top
.
equalToSuperview
()
.
offset
(
16
)
make
.
left
.
top
.
equalToSuperview
()
.
offset
(
8
)
make
.
width
.
equalToSuperview
()
.
offset
(
-
32
)
make
.
width
.
equalToSuperview
()
.
offset
(
-
16
)
}
}
self
.
countLabel
.
snp
.
makeConstraints
{
make
in
self
.
countLabel
.
snp
.
makeConstraints
{
make
in
...
@@ -167,7 +167,7 @@ class HomeVideoCoverCell: UICollectionViewCell {
...
@@ -167,7 +167,7 @@ class HomeVideoCoverCell: UICollectionViewCell {
}
}
self
.
moreImageView
.
snp
.
makeConstraints
{
make
in
self
.
moreImageView
.
snp
.
makeConstraints
{
make
in
make
.
width
.
height
.
equalTo
(
20
)
make
.
width
.
height
.
equalTo
(
20
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
12
)
make
.
left
.
equalTo
(
countLabel
.
snp
.
right
)
.
offset
(
7
)
make
.
centerY
.
equalToSuperview
()
make
.
centerY
.
equalToSuperview
()
}
}
...
...
PhoneManager/Class/Page/Pay/View/HomePayView.swift
View file @
4a942378
...
@@ -437,13 +437,13 @@ class HomePayView:UIView {
...
@@ -437,13 +437,13 @@ class HomePayView:UIView {
make
.
left
.
equalTo
(
16
)
make
.
left
.
equalTo
(
16
)
make
.
right
.
equalTo
(
-
16
)
make
.
right
.
equalTo
(
-
16
)
make
.
top
.
equalTo
(
subTitle
.
snp
.
bottom
)
.
offset
(
8
.
RH
())
make
.
top
.
equalTo
(
subTitle
.
snp
.
bottom
)
.
offset
(
8
.
RH
())
make
.
bottom
.
equalToSuperview
()
.
offset
(
-
16
)
//
make.bottom.equalToSuperview().offset(-16)
}
}
tipsView
.
snp
.
makeConstraints
{
make
in
tipsView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
titleLabel2
!.
snp
.
bottom
)
.
offset
(
230
.
RH
())
make
.
top
.
equalTo
(
titleLabel2
!.
snp
.
bottom
)
.
offset
(
230
.
RH
())
make
.
left
.
right
.
equalToSuperview
()
.
inset
(
marginLR
)
make
.
left
.
right
.
equalToSuperview
()
.
inset
(
marginLR
)
// make.height.equalTo(11
0.RH())
make
.
height
.
equalTo
(
13
0
.
RH
())
}
}
payDueView
.
snp
.
makeConstraints
{
make
in
payDueView
.
snp
.
makeConstraints
{
make
in
...
...
PhoneManager/Class/Page/Public/Loading/PMAnimationLoaing.json
View file @
4a942378
This diff is collapsed.
Click to expand it.
PhoneManager/Class/Page/Public/Loading/PMLoadingView.swift
View file @
4a942378
...
@@ -18,12 +18,17 @@ class PMLoadingHUD{
...
@@ -18,12 +18,17 @@ class PMLoadingHUD{
return
loadingView
return
loadingView
}()
}()
func
config
(){
//loadingView.animationView.play()
loadingView
.
isHidden
=
false
}
func
show
(
_
title
:
String
=
"Deleting..."
,
_
subTitle
:
String
=
"Please wait on the screen. This might take several minutes."
){
func
show
(
_
title
:
String
=
"Deleting..."
,
_
subTitle
:
String
=
"Please wait on the screen. This might take several minutes."
){
disMiss
()
disMiss
()
DispatchQueue
.
main
.
async
{
DispatchQueue
.
main
.
async
{
cWindow
?
.
addSubview
(
self
.
loadingView
)
cWindow
?
.
addSubview
(
self
.
loadingView
)
cWindow
?
.
bringSubviewToFront
(
self
.
loadingView
)
cWindow
?
.
bringSubviewToFront
(
self
.
loadingView
)
self
.
loadingView
.
setTitle
a
AndSubTitle
(
title
:
title
,
subTitle
:
subTitle
)
self
.
loadingView
.
setTitleAndSubTitle
(
title
:
title
,
subTitle
:
subTitle
)
self
.
loadingView
.
animationView
.
play
()
self
.
loadingView
.
animationView
.
play
()
}
}
}
}
...
@@ -33,8 +38,8 @@ class PMLoadingHUD{
...
@@ -33,8 +38,8 @@ class PMLoadingHUD{
DispatchQueue
.
main
.
async
{
DispatchQueue
.
main
.
async
{
cWindow
?
.
addSubview
(
self
.
loadingView
)
cWindow
?
.
addSubview
(
self
.
loadingView
)
cWindow
?
.
bringSubviewToFront
(
self
.
loadingView
)
cWindow
?
.
bringSubviewToFront
(
self
.
loadingView
)
self
.
loadingView
.
setTitle
a
AndSubTitle
(
title
:
title
,
subTitle
:
subTitle
)
self
.
loadingView
.
setTitleAndSubTitle
(
title
:
title
,
subTitle
:
subTitle
)
self
.
loadingView
.
animationView
.
play
()
self
.
loadingView
.
animationView
.
play
()
}
}
}
}
...
@@ -52,24 +57,29 @@ class PMLoadingHUD{
...
@@ -52,24 +57,29 @@ class PMLoadingHUD{
}
}
class
PMLoadingView
:
UIView
{
class
PMLoadingView
:
UIView
{
var
title
:
UILabel
!
var
subtitle
:
UILabel
!
var
animationView
:
LottieAnimationView
!
var
title
:
UILabel
!
// 标记动画是否已加载
private
var
isAnimationLoaded
=
false
var
subtitle
:
UILabel
!
override
init
(
frame
:
CGRect
)
{
override
init
(
frame
:
CGRect
)
{
super
.
init
(
frame
:
frame
)
super
.
init
(
frame
:
frame
)
setupUI
()
}
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
private
func
setupUI
()
{
self
.
backgroundColor
=
UIColor
.
black
.
withAlphaComponent
(
0.8
)
self
.
backgroundColor
=
UIColor
.
black
.
withAlphaComponent
(
0.8
)
// 先创建空的动画视图,不加载内容
animationView
=
LottieAnimationView
()
animationView
.
loopMode
=
.
loop
addSubview
(
animationView
)
addSubview
(
animationView
)
animationView
.
snp
.
makeConstraints
{
make
in
make
.
centerX
.
equalToSuperview
()
make
.
centerY
.
equalToSuperview
()
make
.
width
.
equalTo
(
300
)
make
.
height
.
equalTo
(
200
)
}
title
=
UILabel
()
title
=
UILabel
()
title
.
text
=
"Deleting..."
title
.
text
=
"Deleting..."
...
@@ -85,37 +95,63 @@ class PMLoadingView: UIView {
...
@@ -85,37 +95,63 @@ class PMLoadingView: UIView {
subtitle
.
font
=
UIFont
.
systemFont
(
ofSize
:
18
,
weight
:
.
semibold
)
subtitle
.
font
=
UIFont
.
systemFont
(
ofSize
:
18
,
weight
:
.
semibold
)
addSubview
(
subtitle
)
addSubview
(
subtitle
)
// 设置约束
setupConstraints
()
// 异步加载动画
loadAnimationAsync
()
}
private
func
setupConstraints
()
{
animationView
.
snp
.
makeConstraints
{
make
in
make
.
centerX
.
equalToSuperview
()
make
.
centerY
.
equalToSuperview
()
make
.
width
.
equalTo
(
300
)
make
.
height
.
equalTo
(
300
)
}
title
.
snp
.
makeConstraints
{
make
in
title
.
snp
.
makeConstraints
{
make
in
make
.
centerX
.
equalToSuperview
()
make
.
centerX
.
equalToSuperview
()
make
.
top
.
equalTo
(
animationView
.
snp
.
bottom
)
.
offset
(
-
80
)
make
.
top
.
equalTo
(
animationView
.
snp
.
bottom
)
.
offset
(
-
80
)
}
}
subtitle
.
snp
.
makeConstraints
{
make
in
subtitle
.
snp
.
makeConstraints
{
make
in
make
.
centerX
.
equalToSuperview
()
make
.
centerX
.
equalToSuperview
()
make
.
width
.
equalTo
(
250
)
make
.
width
.
equalTo
(
250
)
make
.
top
.
equalTo
(
title
.
snp
.
bottom
)
.
offset
(
2
)
make
.
top
.
equalTo
(
title
.
snp
.
bottom
)
.
offset
(
2
)
}
}
}
}
required
init
?(
coder
:
NSCoder
)
{
private
func
loadAnimationAsync
()
{
fatalError
(
"init(coder:) has not been implemented"
)
DispatchQueue
.
global
()
.
async
{
[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
// 在后台线程解析动画
let
animation
=
LottieAnimation
.
named
(
"PMAnimationLoaing"
)
DispatchQueue
.
main
.
async
{
// 主线程更新 UI
self
.
animationView
.
animation
=
animation
self
.
isAnimationLoaded
=
true
// 如果视图已经显示,则立即播放
if
self
.
superview
!=
nil
{
self
.
animationView
.
play
()
}
}
}
}
}
func
setTitleAndSubTitle
(
title
:
String
,
subTitle
:
String
)
{
lazy
var
animationView
:
LottieAnimationView
=
{
let
animationView
=
LottieAnimationView
(
name
:
"PMAnimationLoaing"
)
animationView
.
loopMode
=
.
loop
return
animationView
}()
func
setTitleaAndSubTitle
(
title
:
String
,
subTitle
:
String
){
self
.
title
.
text
=
title
self
.
title
.
text
=
title
self
.
subtitle
.
text
=
subTitle
self
.
subtitle
.
text
=
subTitle
}
}
// 重写添加到父视图的方法,在视图显示时播放动画
// override func didMoveToSuperview() {
// super.didMoveToSuperview()
// if isAnimationLoaded && superview != nil {
// animationView.play()
// }
// }
}
}
PhoneManager/Class/Page/Settings/View/SettingNormalCell.swift
View file @
4a942378
...
@@ -34,7 +34,7 @@ class SettingNormalCell : UITableViewCell {
...
@@ -34,7 +34,7 @@ class SettingNormalCell : UITableViewCell {
lazy
var
fLabel
:
UILabel
=
{
lazy
var
fLabel
:
UILabel
=
{
let
label
=
UILabel
();
let
label
=
UILabel
();
label
.
text
=
"ceshi"
label
.
text
=
"ceshi"
label
.
font
=
UIFont
.
systemFont
(
ofSize
:
1
4
,
weight
:
.
bold
)
label
.
font
=
UIFont
.
systemFont
(
ofSize
:
1
6
,
weight
:
.
semi
bold
)
label
.
textColor
=
UIColor
(
red
:
0.2
,
green
:
0.2
,
blue
:
0.2
,
alpha
:
1
)
label
.
textColor
=
UIColor
(
red
:
0.2
,
green
:
0.2
,
blue
:
0.2
,
alpha
:
1
)
label
.
textAlignment
=
.
left
label
.
textAlignment
=
.
left
return
label
return
label
...
@@ -64,7 +64,7 @@ class SettingNormalCell : UITableViewCell {
...
@@ -64,7 +64,7 @@ class SettingNormalCell : UITableViewCell {
}
}
self
.
fLabel
.
snp
.
makeConstraints
{
make
in
self
.
fLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
self
.
logoView
.
snp
.
right
)
.
offset
(
4
)
make
.
left
.
equalTo
(
self
.
logoView
.
snp
.
right
)
.
offset
(
16
)
make
.
top
.
equalToSuperview
()
make
.
top
.
equalToSuperview
()
make
.
height
.
equalTo
(
60
)
make
.
height
.
equalTo
(
60
)
make
.
bottom
.
equalToSuperview
()
make
.
bottom
.
equalToSuperview
()
...
...
PhoneManager/Class/Page/Settings/View/SettingSwitchCell.swift
View file @
4a942378
...
@@ -55,7 +55,7 @@ class SettingSwitchCell : UITableViewCell {
...
@@ -55,7 +55,7 @@ class SettingSwitchCell : UITableViewCell {
lazy
var
fLabel
:
UILabel
=
{
lazy
var
fLabel
:
UILabel
=
{
let
label
=
UILabel
();
let
label
=
UILabel
();
label
.
text
=
"ceshi"
label
.
text
=
"ceshi"
label
.
font
=
UIFont
.
systemFont
(
ofSize
:
1
4
,
weight
:
.
bold
)
label
.
font
=
UIFont
.
systemFont
(
ofSize
:
1
6
,
weight
:
.
semi
bold
)
label
.
textColor
=
UIColor
(
red
:
0.2
,
green
:
0.2
,
blue
:
0.2
,
alpha
:
1
)
label
.
textColor
=
UIColor
(
red
:
0.2
,
green
:
0.2
,
blue
:
0.2
,
alpha
:
1
)
label
.
textAlignment
=
.
left
label
.
textAlignment
=
.
left
return
label
return
label
...
@@ -86,7 +86,7 @@ class SettingSwitchCell : UITableViewCell {
...
@@ -86,7 +86,7 @@ class SettingSwitchCell : UITableViewCell {
}
}
self
.
fLabel
.
snp
.
makeConstraints
{
make
in
self
.
fLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
self
.
logoView
.
snp
.
right
)
.
offset
(
4
)
make
.
left
.
equalTo
(
self
.
logoView
.
snp
.
right
)
.
offset
(
16
)
make
.
top
.
equalToSuperview
()
make
.
top
.
equalToSuperview
()
make
.
height
.
equalTo
(
60
)
make
.
height
.
equalTo
(
60
)
make
.
width
.
equalTo
(
206
)
make
.
width
.
equalTo
(
206
)
...
...
PhoneManager/Class/Tool/Extension.swift/UIViewController+Extension.swift
View file @
4a942378
...
@@ -60,3 +60,4 @@ extension UIViewController {
...
@@ -60,3 +60,4 @@ extension UIViewController {
}
}
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