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
197c47b3
Commit
197c47b3
authored
Jul 16, 2024
by
Steven杜宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
// 待完善清单
parent
92a60783
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
56 additions
and
61 deletions
+56
-61
YHMyFileListViewController.swift
...e(服务中心)/FileList(文件清单)/C/YHMyFileListViewController.swift
+56
-61
No files found.
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/FileList(文件清单)/C/YHMyFileListViewController.swift
View file @
197c47b3
...
@@ -16,7 +16,6 @@ import TYSnapshotScroll
...
@@ -16,7 +16,6 @@ import TYSnapshotScroll
class
YHMyFileListViewController
:
YHBaseViewController
{
class
YHMyFileListViewController
:
YHBaseViewController
{
let
topSegmentHeight
=
48.0
let
topSegmentHeight
=
48.0
var
orderId
:
Int
=
0
var
orderId
:
Int
=
0
var
items
:[
YHFileListModel
]
=
[]
var
items
:[
YHFileListModel
]
=
[]
lazy
var
titles
:[
String
]
=
[]
lazy
var
titles
:[
String
]
=
[]
...
@@ -51,7 +50,6 @@ class YHMyFileListViewController: YHBaseViewController {
...
@@ -51,7 +50,6 @@ class YHMyFileListViewController: YHBaseViewController {
lazy
var
tableView
:
UITableView
=
{
lazy
var
tableView
:
UITableView
=
{
let
tableView
=
UITableView
(
frame
:
CGRect
.
zero
,
style
:
.
grouped
)
let
tableView
=
UITableView
(
frame
:
CGRect
.
zero
,
style
:
.
grouped
)
tableView
.
contentInsetAdjustmentBehavior
=
.
never
tableView
.
contentInsetAdjustmentBehavior
=
.
never
tableView
.
estimatedSectionHeaderHeight
=
1.0
tableView
.
showsVerticalScrollIndicator
=
false
tableView
.
showsVerticalScrollIndicator
=
false
tableView
.
backgroundColor
=
UIColor
.
init
(
hex
:
0xDCE4F1
)
tableView
.
backgroundColor
=
UIColor
.
init
(
hex
:
0xDCE4F1
)
tableView
.
separatorStyle
=
.
none
tableView
.
separatorStyle
=
.
none
...
@@ -60,7 +58,21 @@ class YHMyFileListViewController: YHBaseViewController {
...
@@ -60,7 +58,21 @@ class YHMyFileListViewController: YHBaseViewController {
tableView
.
delegate
=
self
tableView
.
delegate
=
self
tableView
.
dataSource
=
self
tableView
.
dataSource
=
self
tableView
.
tableHeaderView
=
self
.
headerView
tableView
.
tableHeaderView
=
self
.
headerView
tableView
.
isHidden
=
true
return
tableView
}()
lazy
var
fakeTableView
:
UITableView
=
{
let
tableView
=
UITableView
(
frame
:
CGRect
.
zero
,
style
:
.
grouped
)
tableView
.
contentInsetAdjustmentBehavior
=
.
never
tableView
.
showsVerticalScrollIndicator
=
false
tableView
.
backgroundColor
=
UIColor
.
init
(
hex
:
0xDCE4F1
)
tableView
.
separatorStyle
=
.
none
tableView
.
register
(
YHMyFileListCell
.
self
,
forCellReuseIdentifier
:
YHMyFileListCell
.
cellReuseIdentifier
)
tableView
.
register
(
YHMyFileListNoneCell
.
self
,
forCellReuseIdentifier
:
YHMyFileListNoneCell
.
cellReuseIdentifier
)
tableView
.
delegate
=
self
tableView
.
dataSource
=
self
let
view
=
UIView
(
frame
:
self
.
headerView
.
frame
)
tableView
.
tableHeaderView
=
view
return
tableView
return
tableView
}()
}()
...
@@ -171,10 +183,16 @@ class YHMyFileListViewController: YHBaseViewController {
...
@@ -171,10 +183,16 @@ class YHMyFileListViewController: YHBaseViewController {
return
view
return
view
}()
}()
override
func
viewDidLayoutSubviews
()
{
super
.
viewDidLayoutSubviews
()
self
.
tableView
.
contentSize
=
self
.
fakeTableView
.
contentSize
}
override
func
viewDidLoad
()
{
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
super
.
viewDidLoad
()
gk_navigationBar
.
isHidden
=
true
gk_navigationBar
.
isHidden
=
true
self
.
view
.
backgroundColor
=
UIColor
.
init
(
hex
:
0xDCE4F1
)
self
.
view
.
backgroundColor
=
UIColor
.
init
(
hex
:
0xDCE4F1
)
self
.
view
.
addSubview
(
self
.
fakeTableView
)
self
.
view
.
addSubview
(
self
.
tableView
)
self
.
view
.
addSubview
(
self
.
tableView
)
self
.
view
.
addSubview
(
self
.
bottomView
)
self
.
view
.
addSubview
(
self
.
bottomView
)
self
.
view
.
addSubview
(
self
.
navStatusBar
)
self
.
view
.
addSubview
(
self
.
navStatusBar
)
...
@@ -196,6 +214,11 @@ class YHMyFileListViewController: YHBaseViewController {
...
@@ -196,6 +214,11 @@ class YHMyFileListViewController: YHBaseViewController {
make
.
left
.
right
.
equalToSuperview
()
make
.
left
.
right
.
equalToSuperview
()
make
.
bottom
.
equalTo
(
self
.
bottomView
.
snp
.
top
)
make
.
bottom
.
equalTo
(
self
.
bottomView
.
snp
.
top
)
}
}
fakeTableView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalToSuperview
()
make
.
left
.
right
.
equalToSuperview
()
make
.
bottom
.
equalTo
(
self
.
bottomView
.
snp
.
top
)
}
bottomView
.
snp
.
makeConstraints
{
make
in
bottomView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
bottom
.
equalToSuperview
()
make
.
left
.
right
.
bottom
.
equalToSuperview
()
make
.
height
.
equalTo
(
k_Height_safeAreaInsetsBottom
()
+
64.0
)
make
.
height
.
equalTo
(
k_Height_safeAreaInsetsBottom
()
+
64.0
)
...
@@ -231,22 +254,22 @@ class YHMyFileListViewController: YHBaseViewController {
...
@@ -231,22 +254,22 @@ 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
{
self
.
tableView
.
scrollToRow
(
at
:
IndexPath
(
row
:
0
,
section
:
section
),
at
:
.
top
,
animated
:
true
)
// 自定义布局contentSize计算不准导致setContentOffset失效故采用此方法
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
0.3
,
execute
:
{
// fakeTableView 设计目的 1、每次刷新数据自动滚动到底部才能算完contentSize 2、scrollToRow后更正偏移会有抖动
printLog
(
"fakeTableView.contentSize
\(
self
.
fakeTableView
.
contentSize
)
"
)
self
.
tableView
.
contentSize
=
self
.
fakeTableView
.
contentSize
self
.
fakeTableView
.
scrollToRow
(
at
:
IndexPath
(
row
:
0
,
section
:
section
),
at
:
.
top
,
animated
:
false
)
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
0.2
,
execute
:
{
var
gap
=
0.0
var
gap
=
0.0
// 此处处理内容总长度不够滚到相应tab的差距
// 此处处理内容总长度不够滚到相应tab的差距
let
sectionRect
=
self
.
tableView
.
rectForHeader
(
inSection
:
section
)
let
sectionRect
=
self
.
fakeTableView
.
rectForHeader
(
inSection
:
section
)
if
self
.
tableView
.
contentOffset
.
y
>=
0.0
,
sectionRect
.
origin
.
y
>
self
.
tableView
.
contentOffset
.
y
{
if
self
.
fakeTableView
.
contentOffset
.
y
>=
0.0
,
sectionRect
.
origin
.
y
>
self
.
fakeTableView
.
contentOffset
.
y
{
gap
=
sectionRect
.
origin
.
y
-
self
.
tableView
.
contentOffset
.
y
gap
=
sectionRect
.
origin
.
y
-
self
.
fakeTableView
.
contentOffset
.
y
}
}
let
offsetY
=
self
.
tableView
.
contentOffset
.
y
-
k_Height_NavigationtBarAndStatuBar
-
self
.
topSegmentHeight
+
gap
let
offsetY
=
self
.
fakeTableView
.
contentOffset
.
y
-
k_Height_NavigationtBarAndStatuBar
-
self
.
topSegmentHeight
+
gap
let
maxOffSetY
=
self
.
tableView
.
contentSize
.
height
-
self
.
tableView
.
frame
.
size
.
height
self
.
tableView
.
setContentOffset
(
CGPointMake
(
0
,
offsetY
+
4
),
animated
:
true
)
// 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)
// }
})
})
}
}
}
}
...
@@ -377,39 +400,19 @@ extension YHMyFileListViewController : UITableViewDelegate, UITableViewDataSourc
...
@@ -377,39 +400,19 @@ extension YHMyFileListViewController : UITableViewDelegate, UITableViewDataSourc
return
0.01
return
0.01
}
}
func
scrollViewDidScroll
(
_
scrollView
:
UIScrollView
)
{
func
scrollViewDidScroll
(
_
scrollView
:
UIScrollView
)
{
if
scrollView
==
self
.
fakeTableView
{
return
}
printLog
(
"offset:
\(
scrollView
.
contentOffset
.
y
)
"
)
printLog
(
"offset:
\(
scrollView
.
contentOffset
.
y
)
"
)
let
segmentHeight
=
self
.
items
.
count
<=
1
?
0.0
:
46.0
let
segmentHeight
=
self
.
items
.
count
<=
1
?
0.0
:
46.0
let
gap
=
self
.
consentInsetTop
-
k_Height_NavigationtBarAndStatuBar
-
self
.
topSegmentHeight
+
segmentHeight
let
gap
=
self
.
consentInsetTop
-
k_Height_NavigationtBarAndStatuBar
-
self
.
topSegmentHeight
+
segmentHeight
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
self
.
topSegmentView
.
isHidden
=
scrollView
.
contentOffset
.
y
<
gap
self
.
topSegmentView
.
isHidden
=
scrollView
.
contentOffset
.
y
<
gap
// 滚动到哪个section 对应的segment要显示相应的index
// if items.count > 0 {
// var arr:[Double] = []
// for index in 0..<items.count {
// let rect = self.tableView.rectForHeader(inSection: index)
// let y = rect.origin.y-k_Height_NavigationtBarAndStatuBar-self.topSegmentHeight
// arr.append(y)
// }
//
// for (index, offY) in arr.reversed().enumerated() {
// if index == arr.count-1 {
// self.topSegmentView.updateSelectIndex(arr.count-index-1)
// self.segmentView.updateSelectIndex(arr.count-index-1)
// break
//
// } else {
// if scrollView.contentOffset.y >= offY+2 {
// self.topSegmentView.updateSelectIndex(arr.count-index-1)
// self.segmentView.updateSelectIndex(arr.count-index-1)
// break
// }
// }
// }
// }
var
find
:
Bool
=
false
var
find
:
Bool
=
false
if
items
.
count
>
0
{
if
items
.
count
>
0
{
for
index
in
0
..<
items
.
count
{
for
index
in
0
..<
items
.
count
{
...
@@ -439,18 +442,13 @@ extension YHMyFileListViewController {
...
@@ -439,18 +442,13 @@ extension YHMyFileListViewController {
@objc
func
clickSaveBtn
()
{
@objc
func
clickSaveBtn
()
{
YHHUD
.
show
(
.
progress
(
message
:
"正在生成图片"
))
YHHUD
.
show
(
.
progress
(
message
:
"正在生成图片"
))
self
.
tableView
.
snp
.
remakeConstraints
{
make
in
self
.
tableView
.
snp
.
remakeConstraints
{
make
in
make
.
top
.
equalToSuperview
()
make
.
top
.
equalToSuperview
()
make
.
left
.
right
.
equalToSuperview
()
make
.
left
.
right
.
equalToSuperview
()
printLog
(
"contentSize 000:
\(
self
.
tableView
.
contentSize
.
height
)
"
)
make
.
height
.
equalTo
(
self
.
tableView
.
contentSize
.
height
)
make
.
height
.
equalTo
(
self
.
tableView
.
contentSize
.
height
)
}
}
let
originY
=
self
.
tableView
.
contentOffset
.
y
let
originY
=
self
.
tableView
.
contentOffset
.
y
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
0.5
,
execute
:
{
TYSnapshotScroll
.
screenSnapshot
(
self
.
tableView
)
{
TYSnapshotScroll
.
screenSnapshot
(
self
.
tableView
)
{
[
weak
self
]
image
in
[
weak
self
]
image
in
YHHUD
.
hide
()
YHHUD
.
hide
()
...
@@ -472,7 +470,6 @@ extension YHMyFileListViewController {
...
@@ -472,7 +470,6 @@ extension YHMyFileListViewController {
YHHUD
.
flash
(
message
:
"生成图片失败"
)
YHHUD
.
flash
(
message
:
"生成图片失败"
)
}
}
}
}
})
}
}
func
saveImage
(
_
image
:
UIImage
)
{
func
saveImage
(
_
image
:
UIImage
)
{
...
@@ -513,7 +510,6 @@ extension YHMyFileListViewController {
...
@@ -513,7 +510,6 @@ extension YHMyFileListViewController {
self
.
items
.
removeAll
()
self
.
items
.
removeAll
()
self
.
titles
.
removeAll
()
self
.
titles
.
removeAll
()
var
isHaveData
=
false
var
isHaveData
=
false
self
.
tableView
.
isHidden
=
true
if
success
==
true
{
if
success
==
true
{
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
...
@@ -544,16 +540,15 @@ extension YHMyFileListViewController {
...
@@ -544,16 +540,15 @@ extension YHMyFileListViewController {
self
.
segmentView
.
isHidden
=
self
.
items
.
count
<=
1
self
.
segmentView
.
isHidden
=
self
.
items
.
count
<=
1
self
.
headerView
.
height
=
self
.
items
.
count
>
1
?
self
.
originHeaderHeight
:
self
.
originHeaderHeight
-
self
.
topSegmentHeight
self
.
headerView
.
height
=
self
.
items
.
count
>
1
?
self
.
originHeaderHeight
:
self
.
originHeaderHeight
-
self
.
topSegmentHeight
self
.
tableView
.
reloadData
()
self
.
tableView
.
reloadData
()
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
0.5
,
execute
:
{
self
.
fakeTableView
.
tableHeaderView
?
.
height
=
self
.
headerView
.
height
if
self
.
items
.
count
>
0
{
self
.
fakeTableView
.
reloadData
{
let
model
=
self
.
items
[
self
.
items
.
count
-
1
]
let
lastSection
=
self
.
items
.
count
-
1
let
lastRow
=
model
.
supplement_list
.
count
>
0
?
model
.
supplement_list
.
count
-
1
:
0
if
0
<=
lastSection
&&
lastSection
<
self
.
items
.
count
{
// 此处因为tableView.contentSize计算不准
let
model
=
self
.
items
[
lastSection
]
self
.
tableView
.
scrollToRow
(
at
:
IndexPath
(
row
:
lastRow
,
section
:
self
.
items
.
count
-
1
),
at
:
.
top
,
animated
:
true
)
let
lastRow
=
model
.
supplement_list
.
count
-
1
}
self
.
fakeTableView
.
scrollToRow
(
at
:
IndexPath
(
row
:
lastRow
,
section
:
lastSection
),
at
:
.
top
,
animated
:
true
)
self
.
tableView
.
scrollToTop
()
}
self
.
tableView
.
isHidden
=
false
}
})
}
}
}
}
...
...
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