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
51c6d726
Commit
51c6d726
authored
Jul 05, 2024
by
Steven杜宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
// 文件清单
parent
83d7bad5
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
252 additions
and
68 deletions
+252
-68
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+4
-0
YHMyFileListViewController.swift
...e(服务中心)/FileList(文件清单)/C/YHMyFileListViewController.swift
+138
-68
YHSegmentView.swift
...lligentService(服务中心)/FileList(文件清单)/V/YHSegmentView.swift
+110
-0
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
51c6d726
...
@@ -71,6 +71,7 @@
...
@@ -71,6 +71,7 @@
044D0C1C2C22C30B00C5CF5E
/* YHEditSchoolViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044D0C1B2C22C30B00C5CF5E
/* YHEditSchoolViewController.swift */
;
};
044D0C1C2C22C30B00C5CF5E
/* YHEditSchoolViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044D0C1B2C22C30B00C5CF5E
/* YHEditSchoolViewController.swift */
;
};
044D0C1E2C22CFBF00C5CF5E
/* YHEditWorkViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044D0C1D2C22CFBF00C5CF5E
/* YHEditWorkViewController.swift */
;
};
044D0C1E2C22CFBF00C5CF5E
/* YHEditWorkViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044D0C1D2C22CFBF00C5CF5E
/* YHEditWorkViewController.swift */
;
};
044D0C202C22D37500C5CF5E
/* YHEditHonorViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044D0C1F2C22D37500C5CF5E
/* YHEditHonorViewController.swift */
;
};
044D0C202C22D37500C5CF5E
/* YHEditHonorViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044D0C1F2C22D37500C5CF5E
/* YHEditHonorViewController.swift */
;
};
045A08C02C37ABF500BCBABA
/* YHSegmentView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045A08BF2C37ABF500BCBABA
/* YHSegmentView.swift */
;
};
045A7E672C2ACB1A008F995B
/* YHLoginOneLeadView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045A7E662C2ACB1A008F995B
/* YHLoginOneLeadView.swift */
;
};
045A7E672C2ACB1A008F995B
/* YHLoginOneLeadView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045A7E662C2ACB1A008F995B
/* YHLoginOneLeadView.swift */
;
};
045EEE792B9F171A0022A143
/* YHPreviewViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045EED9A2B9F171A0022A143
/* YHPreviewViewModel.swift */
;
};
045EEE792B9F171A0022A143
/* YHPreviewViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045EED9A2B9F171A0022A143
/* YHPreviewViewModel.swift */
;
};
045EEE7A2B9F171A0022A143
/* YHPreviewForOtherInfoModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045EED9C2B9F171A0022A143
/* YHPreviewForOtherInfoModel.swift */
;
};
045EEE7A2B9F171A0022A143
/* YHPreviewForOtherInfoModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045EED9C2B9F171A0022A143
/* YHPreviewForOtherInfoModel.swift */
;
};
...
@@ -649,6 +650,7 @@
...
@@ -649,6 +650,7 @@
044D0C1B2C22C30B00C5CF5E
/* YHEditSchoolViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHEditSchoolViewController.swift
;
sourceTree
=
"<group>"
;
};
044D0C1B2C22C30B00C5CF5E
/* YHEditSchoolViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHEditSchoolViewController.swift
;
sourceTree
=
"<group>"
;
};
044D0C1D2C22CFBF00C5CF5E
/* YHEditWorkViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHEditWorkViewController.swift
;
sourceTree
=
"<group>"
;
};
044D0C1D2C22CFBF00C5CF5E
/* YHEditWorkViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHEditWorkViewController.swift
;
sourceTree
=
"<group>"
;
};
044D0C1F2C22D37500C5CF5E
/* YHEditHonorViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHEditHonorViewController.swift
;
sourceTree
=
"<group>"
;
};
044D0C1F2C22D37500C5CF5E
/* YHEditHonorViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHEditHonorViewController.swift
;
sourceTree
=
"<group>"
;
};
045A08BF2C37ABF500BCBABA
/* YHSegmentView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHSegmentView.swift
;
sourceTree
=
"<group>"
;
};
045A7E662C2ACB1A008F995B
/* YHLoginOneLeadView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHLoginOneLeadView.swift
;
sourceTree
=
"<group>"
;
};
045A7E662C2ACB1A008F995B
/* YHLoginOneLeadView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHLoginOneLeadView.swift
;
sourceTree
=
"<group>"
;
};
045EED9A2B9F171A0022A143
/* YHPreviewViewModel.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHPreviewViewModel.swift
;
sourceTree
=
"<group>"
;
};
045EED9A2B9F171A0022A143
/* YHPreviewViewModel.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHPreviewViewModel.swift
;
sourceTree
=
"<group>"
;
};
045EED9C2B9F171A0022A143
/* YHPreviewForOtherInfoModel.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHPreviewForOtherInfoModel.swift
;
sourceTree
=
"<group>"
;
};
045EED9C2B9F171A0022A143
/* YHPreviewForOtherInfoModel.swift */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHPreviewForOtherInfoModel.swift
;
sourceTree
=
"<group>"
;
};
...
@@ -2924,6 +2926,7 @@
...
@@ -2924,6 +2926,7 @@
04C85DE42C369AB5008B20D6
/* YHMyFileListCell.swift */
,
04C85DE42C369AB5008B20D6
/* YHMyFileListCell.swift */
,
04C85DE62C36ADAE008B20D6
/* YHMyFileListHeaderView.swift */
,
04C85DE62C36ADAE008B20D6
/* YHMyFileListHeaderView.swift */
,
04C85DE82C36BF49008B20D6
/* YHMyFileListFooterView.swift */
,
04C85DE82C36BF49008B20D6
/* YHMyFileListFooterView.swift */
,
045A08BF2C37ABF500BCBABA
/* YHSegmentView.swift */
,
);
);
path
=
V
;
path
=
V
;
sourceTree
=
"<group>"
;
sourceTree
=
"<group>"
;
...
@@ -3411,6 +3414,7 @@
...
@@ -3411,6 +3414,7 @@
0488518F2BF5FD1500C4E32D
/* YHOSSManager.swift in Sources */
,
0488518F2BF5FD1500C4E32D
/* YHOSSManager.swift in Sources */
,
A592FE952BA6D23C0062FACA
/* YHCertificateEntryCell.swift in Sources */
,
A592FE952BA6D23C0062FACA
/* YHCertificateEntryCell.swift in Sources */
,
A5ACE9472B4564F7002C94D2
/* YHHUD.swift in Sources */
,
A5ACE9472B4564F7002C94D2
/* YHHUD.swift in Sources */
,
045A08C02C37ABF500BCBABA
/* YHSegmentView.swift in Sources */
,
A5ACE9412B4564F7002C94D2
/* Dictionary+Extension.swift in Sources */
,
A5ACE9412B4564F7002C94D2
/* Dictionary+Extension.swift in Sources */
,
045EEE8F2B9F171A0022A143
/* YHPreviewInfoProjectItemView.swift in Sources */
,
045EEE8F2B9F171A0022A143
/* YHPreviewInfoProjectItemView.swift in Sources */
,
045EEF152B9F171A0022A143
/* YHHKIDCardModel.swift in Sources */
,
045EEF152B9F171A0022A143
/* YHHKIDCardModel.swift in Sources */
,
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/FileList(文件清单)/C/YHMyFileListViewController.swift
View file @
51c6d726
...
@@ -9,10 +9,11 @@
...
@@ -9,10 +9,11 @@
import
UIKit
import
UIKit
import
AttributedString
import
AttributedString
import
JXSegmentedView
import
JXSegmentedView
import
Photos
class
YHMyFileListViewController
:
YHBaseViewController
{
class
YHMyFileListViewController
:
YHBaseViewController
{
let
topSegmentHeight
=
48.0
var
items
:[[
String
]]
=
[[
""
,
""
],
[
""
],
[
""
,
""
,
""
]]
var
items
:[[
String
]]
=
[[
""
,
""
],
[
""
],
[
""
,
""
,
""
]]
lazy
var
navBar
:
YHCustomNavigationBar
=
{
lazy
var
navBar
:
YHCustomNavigationBar
=
{
let
bar
=
YHCustomNavigationBar
.
navBar
()
let
bar
=
YHCustomNavigationBar
.
navBar
()
...
@@ -25,14 +26,14 @@ class YHMyFileListViewController: YHBaseViewController {
...
@@ -25,14 +26,14 @@ class YHMyFileListViewController: YHBaseViewController {
self
.
navigationController
?
.
popViewController
(
animated
:
true
)
self
.
navigationController
?
.
popViewController
(
animated
:
true
)
}
}
bar
.
rightBtnClick
=
{
bar
.
rightBtnClick
=
{
[
weak
self
]
in
YHHUD
.
show
(
.
progress
(
message
:
"正在生成图片"
))
guard
let
self
=
self
else
{
return
}
if
let
image
=
self
.
gerateImage
()
{
self
.
tableView
.
scrollToRow
(
at
:
IndexPath
(
row
:
0
,
section
:
2
),
at
:
.
top
,
animated
:
true
)
YHHUD
.
hide
(
)
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
0.3
,
execute
:
{
self
.
saveImage
(
image
)
let
currentOffsetY
=
self
.
tableView
.
contentOffset
.
y
}
else
{
printLog
(
"adfa:
\(
currentOffsetY
)
"
)
YHHUD
.
hide
(
)
self
.
tableView
.
setContentOffset
(
CGPointMake
(
0
,
currentOffsetY
+
self
.
consentInsetTop
),
animated
:
false
)
YHHUD
.
flash
(
message
:
"生成图片失败"
)
}
)
}
}
}
return
bar
return
bar
}()
}()
...
@@ -58,13 +59,10 @@ class YHMyFileListViewController: YHBaseViewController {
...
@@ -58,13 +59,10 @@ class YHMyFileListViewController: YHBaseViewController {
tableView
.
backgroundColor
=
.
clear
tableView
.
backgroundColor
=
.
clear
tableView
.
separatorStyle
=
.
none
tableView
.
separatorStyle
=
.
none
tableView
.
bounces
=
false
tableView
.
bounces
=
false
tableView
.
contentInset
=
UIEdgeInsets
(
top
:
consentInsetTop
,
left
:
0
,
bottom
:
0
,
right
:
0
)
tableView
.
register
(
YHMyFileListCell
.
self
,
forCellReuseIdentifier
:
YHMyFileListCell
.
cellReuseIdentifier
)
tableView
.
register
(
YHMyFileListCell
.
self
,
forCellReuseIdentifier
:
YHMyFileListCell
.
cellReuseIdentifier
)
tableView
.
delegate
=
self
tableView
.
delegate
=
self
tableView
.
dataSource
=
self
tableView
.
dataSource
=
self
let
view
=
UIView
(
frame
:
CGRectMake
(
0
,
0
,
KScreenWidth
,
88
))
tableView
.
tableHeaderView
=
self
.
headerView
tableView
.
tableHeaderView
=
self
.
headerView
tableView
.
backgroundView
=
self
.
backgroudView
return
tableView
return
tableView
}()
}()
...
@@ -73,78 +71,76 @@ class YHMyFileListViewController: YHBaseViewController {
...
@@ -73,78 +71,76 @@ class YHMyFileListViewController: YHBaseViewController {
return
bgView
return
bgView
}()
}()
lazy
var
backgroudView
:
UIView
=
{
let
view
=
UIView
()
view
.
addSubview
(
bgImgView
)
bgImgView
.
addSubview
(
self
.
totalLabel
)
bgImgView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
top
.
equalToSuperview
()
make
.
height
.
equalTo
(
264
)
}
self
.
totalLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
26.0
)
make
.
top
.
equalTo
(
100
+
k_Height_NavigationtBarAndStatuBar
)
make
.
height
.
equalTo
(
20
)
}
return
view
}()
lazy
var
totalLabel
:
UILabel
=
{
lazy
var
totalLabel
:
UILabel
=
{
let
label
=
UILabel
()
let
label
=
UILabel
()
return
label
return
label
}()
}()
lazy
var
headerView
:
UIView
=
{
lazy
var
headerView
:
UIView
=
{
let
view
=
UIView
(
frame
:
CGRectMake
(
16
,
0
,
KScreenWidth
-
16.0
*
2
,
46
))
let
myView
=
UIView
(
frame
:
CGRectMake
(
0
,
0
,
KScreenWidth
,
264
))
bgImgView
.
frame
=
CGRectMake
(
0
,
0
,
KScreenWidth
,
264
)
myView
.
addSubview
(
bgImgView
)
self
.
totalLabel
.
frame
=
CGRectMake
(
26.0
,
100
+
k_Height_NavigationtBarAndStatuBar
,
KScreenWidth
-
26*
2
,
20
)
bgImgView
.
addSubview
(
self
.
totalLabel
)
// 选择器背景
let
view
=
UIView
(
frame
:
CGRectMake
(
16
,
self
.
consentInsetTop
,
KScreenWidth
-
16.0
*
2
,
46
))
view
.
clipsToBounds
=
true
view
.
clipsToBounds
=
true
myView
.
addSubview
(
view
)
let
whiteView
=
UIView
(
frame
:
CGRectMake
(
16
,
0
,
KScreenWidth
-
16.0
*
2
,
46.0
+
7.0
))
let
whiteView
=
UIView
(
frame
:
CGRectMake
(
0
,
0
,
KScreenWidth
-
16.0
*
2
,
46.0
+
7.0
))
whiteView
.
backgroundColor
=
.
white
whiteView
.
backgroundColor
=
.
white
whiteView
.
layer
.
cornerRadius
=
7.0
whiteView
.
layer
.
cornerRadius
=
7.0
whiteView
.
clipsToBounds
=
true
whiteView
.
clipsToBounds
=
true
view
.
addSubview
(
whiteView
)
view
.
addSubview
(
whiteView
)
let
grayView
=
UIView
(
frame
:
CGRectMake
(
1
6
+
1
,
1
,
KScreenWidth
-
16.0
*
2
-
2
,
46.0
-
2.0
+
6.0
))
let
grayView
=
UIView
(
frame
:
CGRectMake
(
1
,
1
,
KScreenWidth
-
16.0
*
2
-
2
,
46.0
-
2.0
+
6.0
))
grayView
.
backgroundColor
=
UIColor
.
init
(
hex
:
0xE5E9F2
)
grayView
.
backgroundColor
=
UIColor
.
init
(
hex
:
0xE5E9F2
)
grayView
.
layer
.
cornerRadius
=
6.0
grayView
.
layer
.
cornerRadius
=
6.0
view
.
addSubview
(
grayView
)
view
.
addSubview
(
grayView
)
view
.
addSubview
(
self
.
segment
ed
View
)
view
.
addSubview
(
self
.
segmentView
)
return
v
iew
return
myV
iew
}()
}()
lazy
var
segmentedView
:
JXSegmentedView
=
{
lazy
var
segmentView
:
YHSegmentView
=
{
let
view
=
JXSegmentedView
(
frame
:
CGRect
(
x
:
16
,
y
:
0
,
width
:
KScreenWidth
-
16.0
*
2
,
height
:
46
))
let
view
=
YHSegmentView
(
frame
:
CGRect
(
x
:
16
,
y
:
0
,
width
:
KScreenWidth
-
16.0
*
2
,
height
:
46
))
view
.
backgroundColor
=
.
clear
view
.
items
=
titles
view
.
selectBlock
=
{
//配置指示器
[
weak
self
]
index
in
let
indicator
=
JXSegmentedIndicatorLineView
()
guard
let
self
=
self
else
{
return
}
indicator
.
indicatorWidth
=
16
if
0
<=
index
&&
index
<
self
.
items
.
count
{
indicator
.
indicatorHeight
=
2
self
.
tableView
.
scrollToRow
(
at
:
IndexPath
(
row
:
0
,
section
:
index
),
at
:
.
top
,
animated
:
true
)
indicator
.
indicatorCornerRadius
=
0.0
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
0.5
,
execute
:
{
indicator
.
indicatorColor
=
UIColor
.
brandMainColor
let
currentOffsetY
=
self
.
tableView
.
contentOffset
.
y
view
.
indicators
=
[
indicator
]
printLog
(
"adfa:
\(
currentOffsetY
)
"
)
view
.
defaultSelectedIndex
=
0
self
.
tableView
.
setContentOffset
(
CGPointMake
(
0
,
currentOffsetY
-
k_Height_NavigationtBarAndStatuBar
-
self
.
topSegmentHeight
),
animated
:
true
)
view
.
dataSource
=
segmentedDataSource
})
}
}
return
view
return
view
}()
}()
lazy
var
segmentedDataSource
:
JXSegmentedTitleDataSource
=
{
lazy
var
topSegmentView
:
YHSegmentView
=
{
let
dataSource
=
JXSegmentedTitleDataSource
()
let
view
=
YHSegmentView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
self
.
topSegmentHeight
))
dataSource
.
titles
=
titles
view
.
items
=
titles
view
.
isHidden
=
true
dataSource
.
titleNormalFont
=
UIFont
.
PFSC_R
(
ofSize
:
14
)
view
.
selectBlock
=
{
dataSource
.
titleNormalColor
=
UIColor
.
init
(
hex
:
0x94A3B8
)
[
weak
self
]
index
in
guard
let
self
=
self
else
{
return
}
dataSource
.
titleSelectedFont
=
UIFont
.
PFSC_M
(
ofSize
:
14
)
if
0
<=
index
&&
index
<
self
.
items
.
count
{
dataSource
.
titleSelectedColor
=
.
mainTextColor
self
.
tableView
.
scrollToRow
(
at
:
IndexPath
(
row
:
0
,
section
:
index
),
at
:
.
top
,
animated
:
true
)
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
0.5
,
execute
:
{
dataSource
.
isItemSpacingAverageEnabled
=
false
let
currentOffsetY
=
self
.
tableView
.
contentOffset
.
y
dataSource
.
itemWidth
=
JXSegmentedViewAutomaticDimension
printLog
(
"adfa:
\(
currentOffsetY
)
"
)
dataSource
.
itemSpacing
=
87.0
let
sectionHeigt
=
self
.
tableView
(
self
.
tableView
,
heightForHeaderInSection
:
index
)
self
.
tableView
.
setContentOffset
(
CGPointMake
(
0
,
currentOffsetY
-
k_Height_NavigationtBarAndStatuBar
-
self
.
topSegmentHeight
),
animated
:
true
)
return
dataSource
})
}
}
return
view
}()
}()
lazy
var
titles
=
[
"主申请人"
,
"配偶"
,
"子女"
]
lazy
var
titles
=
[
"主申请人"
,
"配偶"
,
"子女"
]
...
@@ -154,14 +150,19 @@ class YHMyFileListViewController: YHBaseViewController {
...
@@ -154,14 +150,19 @@ class YHMyFileListViewController: YHBaseViewController {
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
.
tableView
)
self
.
view
.
addSubview
(
self
.
tableView
)
self
.
view
.
addSubview
(
navStatusBar
)
self
.
view
.
addSubview
(
self
.
navStatusBar
)
self
.
view
.
addSubview
(
self
.
topSegmentView
)
updateCount
()
updateCount
()
self
.
navStatusBar
.
snp
.
makeConstraints
{
make
in
self
.
navStatusBar
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
top
.
equalToSuperview
()
make
.
left
.
right
.
top
.
equalToSuperview
()
make
.
height
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
)
make
.
height
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
)
}
}
self
.
topSegmentView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
self
.
navStatusBar
.
snp
.
bottom
)
make
.
left
.
right
.
equalToSuperview
()
make
.
height
.
equalTo
(
self
.
topSegmentHeight
)
}
tableView
.
snp
.
makeConstraints
{
make
in
tableView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalToSuperview
()
make
.
top
.
equalToSuperview
()
make
.
left
.
right
.
bottom
.
equalToSuperview
()
make
.
left
.
right
.
bottom
.
equalToSuperview
()
...
@@ -242,14 +243,83 @@ extension YHMyFileListViewController : UITableViewDelegate, UITableViewDataSourc
...
@@ -242,14 +243,83 @@ extension YHMyFileListViewController : UITableViewDelegate, UITableViewDataSourc
if
section
==
items
.
count
-
1
{
if
section
==
items
.
count
-
1
{
return
UITableView
.
automaticDimension
return
UITableView
.
automaticDimension
}
}
return
1
return
0.0
1
}
}
func
scrollViewDidScroll
(
_
scrollView
:
UIScrollView
)
{
func
scrollViewDidScroll
(
_
scrollView
:
UIScrollView
)
{
printLog
(
"offset:
\(
scrollView
.
contentOffset
.
y
)
"
)
printLog
(
"offset:
\(
scrollView
.
contentOffset
.
y
)
"
)
let
bgOffSetY
=
-
scrollView
.
contentOffset
.
y
-
self
.
consentInsetTop
self
.
bgImgView
.
snp
.
updateConstraints
{
make
in
let
gap
=
-
k_Height_NavigationtBarAndStatuBar
-
self
.
topSegmentHeight
make
.
top
.
equalTo
(
bgOffSetY
)
self
.
navStatusBar
.
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
}
}
extension
YHMyFileListViewController
{
// 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
)
{
// 确保应用有权访问相册
PHPhotoLibrary
.
requestAuthorization
{
status
in
if
status
==
.
authorized
{
// 保存图片到相册
DispatchQueue
.
main
.
sync
{
UIImageWriteToSavedPhotosAlbum
(
image
,
self
,
#selector(
self.image(image:didFinishSavingWithError:contextInfo:)
)
,
nil
)
}
}
else
{
YHHUD
.
flash
(
message
:
"没有访问图库权限"
)
}
}
}
@objc
func
image
(
image
:
UIImage
,
didFinishSavingWithError
:
NSError
?,
contextInfo
:
AnyObject
)
{
if
didFinishSavingWithError
!=
nil
{
YHHUD
.
flash
(
message
:
"保存失败"
)
return
}
}
YHHUD
.
flash
(
message
:
"保存成功"
)
}
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/FileList(文件清单)/V/YHSegmentView.swift
0 → 100644
View file @
51c6d726
//
// YHSegmentView.swift
// galaxy
//
// Created by edy on 2024/7/5.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHSegmentItemView
:
UIView
{
var
isSelect
:
Bool
=
false
{
didSet
{
self
.
titleLabel
.
textColor
=
self
.
isSelect
?
UIColor
.
mainTextColor
:
UIColor
.
init
(
hex
:
0x94A3B8
)
self
.
indicatorView
.
isHidden
=
self
.
isSelect
?
false
:
true
}
}
var
text
:
String
=
""
{
didSet
{
self
.
titleLabel
.
text
=
text
}
}
lazy
var
titleLabel
:
UILabel
=
{
let
label1
=
UILabel
()
label1
.
textColor
=
UIColor
.
mainTextColor
label1
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
14
)
label1
.
textAlignment
=
.
center
return
label1
}()
lazy
var
indicatorView
:
UIView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
.
brandMainColor
return
view
}()
override
init
(
frame
:
CGRect
)
{
super
.
init
(
frame
:
frame
)
setupUI
()
}
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
func
setupUI
()
{
self
.
addSubview
(
self
.
titleLabel
)
self
.
addSubview
(
self
.
indicatorView
)
self
.
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
edges
.
equalToSuperview
()
}
self
.
indicatorView
.
snp
.
makeConstraints
{
make
in
make
.
width
.
equalTo
(
16
)
make
.
height
.
equalTo
(
2
)
make
.
bottom
.
equalToSuperview
()
make
.
centerX
.
equalToSuperview
()
}
}
}
class
YHSegmentView
:
UIView
{
let
itemBaseTag
=
9527
var
selectBlock
:((
Int
)
->
())?
var
items
:
[
String
]
=
[]
{
didSet
{
updateUI
()
}
}
override
init
(
frame
:
CGRect
)
{
super
.
init
(
frame
:
frame
)
}
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
func
updateUI
()
{
self
.
removeSubviews
()
if
items
.
count
<=
0
{
return
}
let
itemWidth
=
self
.
width
/
CGFloat
(
items
.
count
)
for
(
index
,
text
)
in
items
.
enumerated
()
{
let
view
=
YHSegmentItemView
(
frame
:
CGRect
(
x
:
CGFloat
(
index
)
*
itemWidth
,
y
:
0
,
width
:
itemWidth
,
height
:
self
.
height
))
view
.
tag
=
itemBaseTag
+
index
view
.
text
=
text
view
.
isSelect
=
index
==
0
let
tap
=
UITapGestureRecognizer
(
target
:
self
,
action
:
#selector(
didClickItem(_:)
)
)
view
.
addGestureRecognizer
(
tap
)
self
.
addSubview
(
view
)
}
}
@objc
func
didClickItem
(
_
gesture
:
UIGestureRecognizer
)
{
if
let
view
=
gesture
.
view
as?
YHSegmentItemView
{
let
selectTag
=
view
.
tag
self
.
selectBlock
?(
selectTag
-
self
.
itemBaseTag
)
for
subView
in
self
.
subviews
{
if
subView
is
YHSegmentItemView
{
let
subItemView
=
subView
as!
YHSegmentItemView
subItemView
.
isSelect
=
subItemView
.
tag
==
selectTag
}
}
}
}
}
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