Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
galaxy-iOS
Project
Project
Details
Activity
Releases
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
mobile-group
galaxy-iOS
Commits
78a2dcda
Commit
78a2dcda
authored
Jul 07, 2024
by
Steven杜宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
// 截图
parent
58744d89
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
78 additions
and
63 deletions
+78
-63
Podfile
galaxy/Podfile
+2
-0
YHMyFileListViewController.swift
...e(服务中心)/FileList(文件清单)/C/YHMyFileListViewController.swift
+51
-62
YHMyFileListHeaderView.swift
...rvice(服务中心)/FileList(文件清单)/V/YHMyFileListHeaderView.swift
+20
-1
YHSegmentView.swift
...lligentService(服务中心)/FileList(文件清单)/V/YHSegmentView.swift
+3
-0
galaxy-Bridge-Header.h
galaxy/galaxy/Res/galaxy-Bridge-Header.h
+2
-0
No files found.
galaxy/Podfile
View file @
78a2dcda
...
@@ -89,6 +89,8 @@ target 'galaxy' do
...
@@ -89,6 +89,8 @@ target 'galaxy' do
pod
'YYImage'
,
'1.0.4'
pod
'YYImage'
,
'1.0.4'
#滑动卡片
#滑动卡片
pod
'DragCardContainer'
,
'1.2.0'
pod
'DragCardContainer'
,
'1.2.0'
#列表截图
pod
'TYSnapshotScroll'
,
'0.4.0'
end
end
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/FileList(文件清单)/C/YHMyFileListViewController.swift
View file @
78a2dcda
...
@@ -74,12 +74,15 @@ class YHMyFileListViewController: YHBaseViewController {
...
@@ -74,12 +74,15 @@ class YHMyFileListViewController: YHBaseViewController {
return
label
return
label
}()
}()
let
originHeaderHeight
:
CGFloat
=
274.0
-
(
88
-
k_Height_NavigationtBarAndStatuBar
)
lazy
var
headerView
:
UIView
=
{
lazy
var
headerView
:
UIView
=
{
// 是否为刘海屏
// 是否为刘海屏
let
isNotchScreen
=
GKDevice
.
isNotchedScreen
let
isNotchScreen
=
GKDevice
.
isNotchedScreen
let
top
=
isNotchScreen
?
0.0
:
24.0
let
top
=
88
-
k_Height_NavigationtBarAndStatuBar
let
myView
=
UIView
(
frame
:
CGRectMake
(
0
,
0
,
KScreenWidth
,
274.0
-
top
))
let
myView
=
UIView
(
frame
:
CGRectMake
(
0
,
0
,
KScreenWidth
,
originHeaderHeight
))
myView
.
clipsToBounds
=
true
bgImgView
.
frame
=
CGRectMake
(
0
,
-
top
,
KScreenWidth
,
264
)
bgImgView
.
frame
=
CGRectMake
(
0
,
-
top
,
KScreenWidth
,
264
)
myView
.
addSubview
(
bgImgView
)
myView
.
addSubview
(
bgImgView
)
...
@@ -228,9 +231,23 @@ class YHMyFileListViewController: YHBaseViewController {
...
@@ -228,9 +231,23 @@ class YHMyFileListViewController: YHBaseViewController {
func
scrollToSection
(
_
section
:
Int
)
{
func
scrollToSection
(
_
section
:
Int
)
{
if
0
<=
section
&&
section
<
self
.
items
.
count
{
if
0
<=
section
&&
section
<
self
.
items
.
count
{
var
sectionRect
=
self
.
tableView
.
rectForHeader
(
inSection
:
section
)
self
.
tableView
.
scrollToRow
(
at
:
IndexPath
(
row
:
0
,
section
:
section
),
at
:
.
top
,
animated
:
true
)
sectionRect
.
origin
.
y
=
sectionRect
.
origin
.
y
-
k_Height_NavigationtBarAndStatuBar
-
self
.
topSegmentHeight
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
0.3
,
execute
:
{
self
.
tableView
.
setContentOffset
(
CGPointMake
(
0
,
sectionRect
.
origin
.
y
+
4
),
animated
:
true
)
var
gap
=
0.0
// 此处处理内容总长度不够滚到相应tab的差距
let
sectionRect
=
self
.
tableView
.
rectForHeader
(
inSection
:
section
)
if
self
.
tableView
.
contentOffset
.
y
>=
0.0
,
sectionRect
.
origin
.
y
>
self
.
tableView
.
contentOffset
.
y
{
gap
=
sectionRect
.
origin
.
y
-
self
.
tableView
.
contentOffset
.
y
}
let
offsetY
=
self
.
tableView
.
contentOffset
.
y
-
k_Height_NavigationtBarAndStatuBar
-
self
.
topSegmentHeight
+
gap
let
maxOffSetY
=
self
.
tableView
.
contentSize
.
height
-
self
.
tableView
.
frame
.
size
.
height
if
abs
(
offsetY
)
<=
maxOffSetY
{
// 此处+2是弥补section结合处偏差与tab显示
self
.
tableView
.
setContentOffset
(
CGPointMake
(
0
,
offsetY
+
4
),
animated
:
false
)
}
else
{
self
.
tableView
.
setContentOffset
(
CGPointMake
(
0
,
maxOffSetY
-
1
),
animated
:
false
)
}
})
}
}
}
}
}
}
...
@@ -315,6 +332,7 @@ extension YHMyFileListViewController : UITableViewDelegate, UITableViewDataSourc
...
@@ -315,6 +332,7 @@ extension YHMyFileListViewController : UITableViewDelegate, UITableViewDataSourc
func
tableView
(
_
tableView
:
UITableView
,
viewForHeaderInSection
section
:
Int
)
->
UIView
?
{
func
tableView
(
_
tableView
:
UITableView
,
viewForHeaderInSection
section
:
Int
)
->
UIView
?
{
let
view
=
YHMyFileListHeaderView
(
frame
:
.
zero
)
let
view
=
YHMyFileListHeaderView
(
frame
:
.
zero
)
view
.
headerView
.
isHidden
=
true
view
.
headerView
.
isHidden
=
true
view
.
isShowCorner
=
items
.
count
<=
1
if
0
<=
section
&&
section
<
items
.
count
{
if
0
<=
section
&&
section
<
items
.
count
{
let
model
=
items
[
section
]
let
model
=
items
[
section
]
view
.
titleLabel
.
text
=
model
.
ApplicantName
view
.
titleLabel
.
text
=
model
.
ApplicantName
...
@@ -361,7 +379,6 @@ extension YHMyFileListViewController : UITableViewDelegate, UITableViewDataSourc
...
@@ -361,7 +379,6 @@ extension YHMyFileListViewController : UITableViewDelegate, UITableViewDataSourc
func
scrollViewDidScroll
(
_
scrollView
:
UIScrollView
)
{
func
scrollViewDidScroll
(
_
scrollView
:
UIScrollView
)
{
printLog
(
"offset:
\(
scrollView
.
contentOffset
.
y
)
"
)
printLog
(
"offset:
\(
scrollView
.
contentOffset
.
y
)
"
)
let
gap
=
self
.
consentInsetTop
-
k_Height_NavigationtBarAndStatuBar
-
self
.
topSegmentHeight
let
gap
=
self
.
consentInsetTop
-
k_Height_NavigationtBarAndStatuBar
-
self
.
topSegmentHeight
self
.
navStatusBar
.
backgroundColor
=
scrollView
.
contentOffset
.
y
>
gap
?
UIColor
.
white
:
UIColor
.
clear
self
.
navStatusBar
.
backgroundColor
=
scrollView
.
contentOffset
.
y
>
gap
?
UIColor
.
white
:
UIColor
.
clear
self
.
topSegmentView
.
backgroundColor
=
scrollView
.
contentOffset
.
y
>
gap
?
UIColor
.
white
:
UIColor
.
clear
self
.
topSegmentView
.
backgroundColor
=
scrollView
.
contentOffset
.
y
>
gap
?
UIColor
.
white
:
UIColor
.
clear
...
@@ -397,59 +414,21 @@ extension YHMyFileListViewController : UITableViewDelegate, UITableViewDataSourc
...
@@ -397,59 +414,21 @@ extension YHMyFileListViewController : UITableViewDelegate, UITableViewDataSourc
extension
YHMyFileListViewController
{
extension
YHMyFileListViewController
{
@objc
func
clickSaveBtn
()
{
@objc
func
clickSaveBtn
()
{
YHHUD
.
show
(
.
progress
(
message
:
"正在生成图片"
))
YHHUD
.
show
(
.
progress
(
message
:
"正在生成图片"
))
if
let
image
=
self
.
gerateImage
()
{
TYSnapshotScroll
.
screenSnapshot
(
self
.
tableView
)
{
YHHUD
.
hide
()
[
weak
self
]
image
in
self
.
saveImage
(
image
)
}
else
{
YHHUD
.
hide
()
YHHUD
.
hide
()
YHHUD
.
flash
(
message
:
"生成图片失败"
)
guard
let
self
=
self
else
{
return
}
if
let
img
=
image
{
self
.
saveImage
(
img
)
}
else
{
YHHUD
.
flash
(
message
:
"生成图片失败"
)
}
}
}
}
}
// func gerateImage()-> UIImage? {
//
// UIGraphicsBeginImageContextWithOptions(self.tableView.contentSize, false, UIScreen.main.scale)
// //先保存原来frame 和 偏移量
// let savedContentOffset = self.tableView.contentOffset
// let savedFrame = self.tableView.frame
// let contentSize = self.tableView.contentSize
// let oldBounds = self.tableView.layer.bounds
// if #available(iOS 13.0, *) {
// self.tableView.layer.bounds = CGRectMake(oldBounds.origin.x, oldBounds.origin.y, contentSize.width, contentSize.height)
// }
// //偏移量归零
// self.tableView.contentOffset = CGPointMake(0, -self.consentInsetTop)
// self.tableView.frame = CGRect(x: 0, y: 0, width: self.tableView.contentSize.width, height: self.tableView.contentSize.height)
// self.tableView.layer.render(in: UIGraphicsGetCurrentContext()!)
// if #available(iOS 13.0, *) {
// self.tableView.layer.bounds = oldBounds
// }
// let image = UIGraphicsGetImageFromCurrentImageContext()
// UIGraphicsEndImageContext();
// //还原frame 和 偏移量
// self.tableView.contentOffset = savedContentOffset
// self.tableView.frame = savedFrame
// return image
// }
func
gerateImage
()
->
UIImage
?
{
UIGraphicsBeginImageContextWithOptions
(
self
.
tableView
.
contentSize
,
false
,
UIScreen
.
main
.
scale
)
let
savedContentOffset
=
self
.
tableView
.
contentOffset
let
savedFrame
=
self
.
tableView
.
frame
self
.
tableView
.
contentOffset
=
CGPointMake
(
0
,
-
self
.
consentInsetTop
)
self
.
tableView
.
frame
=
CGRect
(
x
:
0
,
y
:
0
,
width
:
self
.
tableView
.
contentSize
.
width
,
height
:
self
.
tableView
.
contentSize
.
height
)
self
.
tableView
.
layer
.
render
(
in
:
UIGraphicsGetCurrentContext
()
!
)
let
image
=
UIGraphicsGetImageFromCurrentImageContext
()
self
.
tableView
.
contentOffset
=
savedContentOffset
self
.
tableView
.
frame
=
savedFrame
UIGraphicsEndImageContext
()
return
image
}
func
saveImage
(
_
image
:
UIImage
)
{
func
saveImage
(
_
image
:
UIImage
)
{
// 确保应用有权访问相册
// 确保应用有权访问相册
PHPhotoLibrary
.
requestAuthorization
{
status
in
PHPhotoLibrary
.
requestAuthorization
{
status
in
...
@@ -487,8 +466,9 @@ extension YHMyFileListViewController {
...
@@ -487,8 +466,9 @@ extension YHMyFileListViewController {
viewModel
.
getCertificateFileListData
(
params
:
param
)
{
success
,
error
in
viewModel
.
getCertificateFileListData
(
params
:
param
)
{
success
,
error
in
self
.
items
.
removeAll
()
self
.
items
.
removeAll
()
self
.
titles
.
removeAll
()
self
.
titles
.
removeAll
()
var
isHaveData
=
false
self
.
tableView
.
isHidden
=
true
if
success
==
true
{
if
success
==
true
{
var
isHaveData
=
false
for
(
_
,
item
)
in
self
.
viewModel
.
arrFileListData
.
enumerated
()
{
for
(
_
,
item
)
in
self
.
viewModel
.
arrFileListData
.
enumerated
()
{
let
arr
=
item
?
.
supplement_list
.
filter
{
(
item
)
->
Bool
in
let
arr
=
item
?
.
supplement_list
.
filter
{
(
item
)
->
Bool
in
return
item
.
checkStatus
==
2
||
item
.
checkStatus
==
3
return
item
.
checkStatus
==
2
||
item
.
checkStatus
==
3
...
@@ -498,27 +478,36 @@ extension YHMyFileListViewController {
...
@@ -498,27 +478,36 @@ extension YHMyFileListViewController {
}
}
}
}
for
model
in
self
.
viewModel
.
arrFileListData
{
for
(
index
,
model
)
in
self
.
viewModel
.
arrFileListData
.
enumerated
()
{
if
let
model
=
model
{
if
let
model
=
model
{
self
.
items
.
append
(
model
)
self
.
items
.
append
(
model
)
self
.
titles
.
append
(
model
.
ApplicantName
)
self
.
titles
.
append
(
model
.
ApplicantName
)
}
}
}
}
self
.
tableView
.
isHidden
=
!
isHaveData
self
.
topSegmentView
.
items
=
self
.
titles
self
.
topSegmentView
.
items
=
self
.
titles
self
.
segmentView
.
items
=
self
.
titles
self
.
segmentView
.
items
=
self
.
titles
self
.
showEmptyView
(
!
isHaveData
)
self
.
saveBtn
.
isUserInteractionEnabled
=
true
self
.
saveBtn
.
isUserInteractionEnabled
=
true
self
.
saveBtn
.
layer
.
opacity
=
1.0
self
.
saveBtn
.
layer
.
opacity
=
1.0
self
.
showEmptyView
(
!
isHaveData
)
}
else
{
}
else
{
self
.
saveBtn
.
isUserInteractionEnabled
=
false
self
.
saveBtn
.
isUserInteractionEnabled
=
false
self
.
saveBtn
.
layer
.
opacity
=
0.3
self
.
saveBtn
.
layer
.
opacity
=
0.3
YHHUD
.
flash
(
message
:
error
?
.
errorMsg
??
"请求出错"
)
YHHUD
.
flash
(
message
:
error
?
.
errorMsg
??
"请求出错"
)
}
}
self
.
segmentView
.
isHidden
=
self
.
items
.
count
<=
1
self
.
headerView
.
height
=
self
.
items
.
count
>
1
?
self
.
originHeaderHeight
:
self
.
originHeaderHeight
-
self
.
topSegmentHeight
self
.
tableView
.
reloadData
()
self
.
tableView
.
reloadData
()
self
.
tableView
.
scrollToBottom
()
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
0.2
,
execute
:
{
self
.
tableView
.
scrollToTop
()
if
self
.
items
.
count
>
0
{
let
model
=
self
.
items
[
self
.
items
.
count
-
1
]
let
lastRow
=
model
.
supplement_list
.
count
>
0
?
model
.
supplement_list
.
count
-
1
:
0
// 此处因为tableView.contentSize计算不准
self
.
tableView
.
scrollToRow
(
at
:
IndexPath
(
row
:
lastRow
,
section
:
self
.
items
.
count
-
1
),
at
:
.
top
,
animated
:
true
)
}
self
.
tableView
.
scrollToTop
()
self
.
tableView
.
isHidden
=
false
})
}
}
}
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/FileList(文件清单)/V/YHMyFileListHeaderView.swift
View file @
78a2dcda
...
@@ -10,7 +10,12 @@ import UIKit
...
@@ -10,7 +10,12 @@ import UIKit
class
YHMyFileListHeaderView
:
UIView
{
class
YHMyFileListHeaderView
:
UIView
{
var
isShowCorner
:
Bool
=
false
{
didSet
{
self
.
whiteCornerView
.
isHidden
=
!
isShowCorner
self
.
whiteContentView
.
backgroundColor
=
isShowCorner
?
UIColor
.
clear
:
UIColor
.
white
}
}
lazy
var
columnView
:
UIView
=
{
lazy
var
columnView
:
UIView
=
{
let
view
=
UIView
()
let
view
=
UIView
()
...
@@ -70,6 +75,15 @@ class YHMyFileListHeaderView: UIView {
...
@@ -70,6 +75,15 @@ class YHMyFileListHeaderView: UIView {
lazy
var
whiteContentView
:
UIView
=
{
lazy
var
whiteContentView
:
UIView
=
{
let
view
=
UIView
()
let
view
=
UIView
()
view
.
backgroundColor
=
.
white
view
.
backgroundColor
=
.
white
view
.
clipsToBounds
=
true
return
view
}()
lazy
var
whiteCornerView
:
UIView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
.
white
view
.
layer
.
cornerRadius
=
6.0
view
.
isHidden
=
true
return
view
return
view
}()
}()
...
@@ -99,6 +113,7 @@ class YHMyFileListHeaderView: UIView {
...
@@ -99,6 +113,7 @@ class YHMyFileListHeaderView: UIView {
func
setupUI
()
{
func
setupUI
()
{
self
.
clipsToBounds
=
true
self
.
clipsToBounds
=
true
self
.
addSubview
(
self
.
whiteCornerView
)
self
.
addSubview
(
self
.
whiteContentView
)
self
.
addSubview
(
self
.
whiteContentView
)
self
.
whiteContentView
.
addSubview
(
self
.
titleBgImgView
)
self
.
whiteContentView
.
addSubview
(
self
.
titleBgImgView
)
self
.
whiteContentView
.
addSubview
(
self
.
titleLabel
)
self
.
whiteContentView
.
addSubview
(
self
.
titleLabel
)
...
@@ -109,6 +124,10 @@ class YHMyFileListHeaderView: UIView {
...
@@ -109,6 +124,10 @@ class YHMyFileListHeaderView: UIView {
self
.
headerView
.
addSubview
(
lineView
)
self
.
headerView
.
addSubview
(
lineView
)
self
.
grayView
.
addSubview
(
self
.
columnView
)
self
.
grayView
.
addSubview
(
self
.
columnView
)
self
.
whiteCornerView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
top
.
equalTo
(
whiteContentView
)
make
.
bottom
.
equalToSuperview
()
.
offset
(
7
)
}
self
.
titleLabel
.
snp
.
makeConstraints
{
make
in
self
.
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
20
)
make
.
top
.
equalTo
(
20
)
make
.
centerX
.
equalToSuperview
()
make
.
centerX
.
equalToSuperview
()
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/FileList(文件清单)/V/YHSegmentView.swift
View file @
78a2dcda
...
@@ -62,6 +62,7 @@ class YHSegmentItemView: UIView {
...
@@ -62,6 +62,7 @@ class YHSegmentItemView: UIView {
class
YHSegmentView
:
UIView
{
class
YHSegmentView
:
UIView
{
var
selectIndex
=
0
let
itemBaseTag
=
9527
let
itemBaseTag
=
9527
var
selectBlock
:((
Int
)
->
())?
var
selectBlock
:((
Int
)
->
())?
...
@@ -98,12 +99,14 @@ class YHSegmentView: UIView {
...
@@ -98,12 +99,14 @@ class YHSegmentView: UIView {
@objc
func
didClickItem
(
_
gesture
:
UIGestureRecognizer
)
{
@objc
func
didClickItem
(
_
gesture
:
UIGestureRecognizer
)
{
if
let
view
=
gesture
.
view
as?
YHSegmentItemView
{
if
let
view
=
gesture
.
view
as?
YHSegmentItemView
{
let
selectIndex
=
view
.
tag
-
self
.
itemBaseTag
let
selectIndex
=
view
.
tag
-
self
.
itemBaseTag
self
.
selectIndex
=
selectIndex
self
.
selectBlock
?(
selectIndex
)
self
.
selectBlock
?(
selectIndex
)
updateSelectIndex
(
selectIndex
)
updateSelectIndex
(
selectIndex
)
}
}
}
}
func
updateSelectIndex
(
_
index
:
Int
)
{
func
updateSelectIndex
(
_
index
:
Int
)
{
self
.
selectIndex
=
index
for
subView
in
self
.
subviews
{
for
subView
in
self
.
subviews
{
if
subView
is
YHSegmentItemView
{
if
subView
is
YHSegmentItemView
{
let
subItemView
=
subView
as!
YHSegmentItemView
let
subItemView
=
subView
as!
YHSegmentItemView
...
...
galaxy/galaxy/Res/galaxy-Bridge-Header.h
View file @
78a2dcda
...
@@ -16,6 +16,8 @@
...
@@ -16,6 +16,8 @@
// iOS10注册APNs所需头文件
// iOS10注册APNs所需头文件
#ifdef NSFoundationVersionNumber_iOS_9_x_Max
#ifdef NSFoundationVersionNumber_iOS_9_x_Max
#import <UserNotifications/UserNotifications.h>
#import <UserNotifications/UserNotifications.h>
// 列表截图
#import "TYSnapshotScroll.h"
#endif
#endif
...
...
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