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
594ed7c7
Commit
594ed7c7
authored
Aug 22, 2024
by
David黄金龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完善 时间段选择器
parent
e19b7757
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
51 additions
and
50 deletions
+51
-50
YHMyViewController.swift
...alaxy/Classes/Modules/Mine(我的)/C/YHMyViewController.swift
+5
-0
YHRangeDatePickerSheetView.swift
...es/Tools/RangeDatePicker/YHRangeDatePickerSheetView.swift
+28
-38
YHRangeDatePickerView.swift
...Classes/Tools/RangeDatePicker/YHRangeDatePickerView.swift
+18
-12
No files found.
galaxy/galaxy/Classes/Modules/Mine(我的)/C/YHMyViewController.swift
View file @
594ed7c7
...
...
@@ -152,6 +152,11 @@ class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget {
let
view
=
YHRangeDatePickerSheetView
.
sheetView
()
view
.
block
=
{
(
startDate
,
endDate
)
in
print
(
"选择的日期是:"
)
print
(
startDate
)
print
(
endDate
)
}
view
.
show
()
//for test hjl
}
...
...
galaxy/galaxy/Classes/Tools/RangeDatePicker/YHRangeDatePickerSheetView.swift
View file @
594ed7c7
...
...
@@ -9,7 +9,10 @@
import
UIKit
class
YHRangeDatePickerSheetView
:
UIView
{
static
let
contentViewH
:
CGFloat
=
YHRangeDatePickerView
.
viewH
+
98
+
112
+
12
static
let
contentViewH
:
CGFloat
=
(
16
+
24
)
+
(
12
+
1
)
+
(
12
+
32
)
+
YHRangeDatePickerView
.
viewH
+
98
+
20
typealias
Block
=
(
Date
,
Date
)
->
()
var
block
:
Block
?
lazy
var
blackMaskView
:
UIView
=
{
let
view
=
UIView
()
...
...
@@ -79,13 +82,6 @@ class YHRangeDatePickerSheetView: UIView {
return
button
}()
// lazy var myScrollView: UIScrollView = {
// let view = UIScrollView()
// view.backgroundColor = .clear
// view.showsVerticalScrollIndicator = false
// return view
// }()
lazy
var
datePickView
:
YHRangeDatePickerView
=
{
let
view
=
YHRangeDatePickerView
()
return
view
...
...
@@ -121,7 +117,7 @@ extension YHRangeDatePickerSheetView {
UIApplication
.
shared
.
yhKeyWindow
()?
.
addSubview
(
self
)
UIView
.
animate
(
withDuration
:
0.5
)
{
let
whiteHeight
=
YH
HKCardTemplate
View
.
contentViewH
let
whiteHeight
=
YH
RangeDatePickerSheet
View
.
contentViewH
self
.
whiteContentView
.
frame
=
CGRect
(
x
:
0
,
y
:
KScreenHeight
-
whiteHeight
,
width
:
KScreenWidth
,
height
:
whiteHeight
)
}
}
...
...
@@ -131,7 +127,27 @@ extension YHRangeDatePickerSheetView {
}
@objc
func
clickSureBtn
()
{
dismiss
()
if
isChooseOk
()
{
if
let
date1
=
datePickView
.
startDate
,
let
date2
=
datePickView
.
endDate
{
self
.
block
?(
date1
,
date2
)
}
dismiss
()
}
else
{
YHHUD
.
flash
(
message
:
"选择开始/结束日期"
)
}
}
func
isChooseOk
()
->
Bool
{
if
datePickView
.
startDate
!=
nil
,
datePickView
.
endDate
!=
nil
{
return
true
}
return
false
}
}
...
...
@@ -197,36 +213,10 @@ private extension YHRangeDatePickerSheetView {
whiteContentView
.
addSubview
(
datePickView
)
warnImageV
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
titleLable
.
snp
.
bottom
)
.
offset
(
12
)
datePickView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
warnImageV
.
snp
.
bottom
)
.
offset
(
12
)
make
.
left
.
right
.
equalToSuperview
()
make
.
height
.
equalTo
(
YHRangeDatePickerView
.
viewH
)
}
// whiteContentView.addSubview(myScrollView)
// myScrollView.snp.makeConstraints { make in
// make.top.equalTo(lineView.snp.bottom).offset(21)
// make.right.equalToSuperview().offset(-21)
// make.width.equalTo(KScreenWidth - 21 * 2)
// make.height.equalTo(whiteHeight-98 - 16 - 24 - 12 - 1 - 21)
// }
//
//
// if let tmpImage = UIImage(named:"hkCard_template") {
// let scale = Double(tmpImage.size.height / tmpImage.size.width)
// let imageH = scale * (KScreenWidth - 21 * 2)
//
//
// myScrollView.addSubview(bkgImageV)
// bkgImageV.snp.makeConstraints { make in
// make.top.equalToSuperview()
// make.left.equalToSuperview()
// make.width.equalTo(KScreenWidth - 21 * 2)
// make.height.equalTo(imageH)
// }
// myScrollView.contentSize = CGSize(width: KScreenWidth - 21 * 2, height: imageH)
// }
}
}
galaxy/galaxy/Classes/Tools/RangeDatePicker/YHRangeDatePickerView.swift
View file @
594ed7c7
...
...
@@ -50,7 +50,7 @@ class YHRangeDatePickerView: UIView,FSCalendarDataSource, FSCalendarDelegate, FS
calendar
.
appearance
.
weekdayTextColor
=
UIColor
(
red
:
0.071
,
green
:
0.102
,
blue
:
0.149
,
alpha
:
1
)
//日历内容 默认颜色
calendar
.
appearance
.
titleDefaultColor
=
UIColor
(
red
:
0.071
,
green
:
0.102
,
blue
:
0.149
,
alpha
:
1
)
//
calendar.appearance.titleDefaultColor = UIColor(red: 0.071, green: 0.102, blue: 0.149, alpha: 1)
//日历内容 字体
calendar
.
appearance
.
titleFont
=
UIFont
(
name
:
"PingFangSC-Medium"
,
size
:
16
)
...
...
@@ -59,9 +59,14 @@ class YHRangeDatePickerView: UIView,FSCalendarDataSource, FSCalendarDelegate, FS
//日历内容 选择时 颜色
calendar
.
appearance
.
titleSelectionColor
=
.
white
calendar
.
appearance
.
subtitleSelectionColor
=
.
white
// calendar.appearance.todayColor = UIColor(red: 0, green: 0.275, blue: 0.706, alpha: 1)
// calendar.appearance.todaySelectionColor = .white
// calendar.appearance.titleTodayColor = UIColor(red: 0, green: 0.275, blue: 0.706, alpha: 1)
//非当月日期 颜色
calendar
.
appearance
.
titlePlaceholderColor
=
UIColor
(
red
:
0.071
,
green
:
0.102
,
blue
:
0.149
,
alpha
:
0.
7
)
calendar
.
appearance
.
titlePlaceholderColor
=
UIColor
(
red
:
0.071
,
green
:
0.102
,
blue
:
0.149
,
alpha
:
0.
2
)
//日期 横线
calendar
.
appearance
.
separators
=
.
none
...
...
@@ -116,13 +121,16 @@ extension YHRangeDatePickerView {
return
nil
}
func
calendar
(
_
calendar
:
FSCalendar
,
titleFor
date
:
Date
)
->
String
?
{
return
self
.
gregorian
.
isDateInToday
(
date
)
?
"今"
:
nil
}
func
minimumDate
(
for
calendar
:
FSCalendar
)
->
Date
{
return
(
dateFormatter
.
date
(
from
:
"2023-07-01"
))
!
return
self
.
gregorian
.
date
(
byAdding
:
.
day
,
value
:
-
30
,
to
:
Date
(
))
!
}
func
maximumDate
(
for
calendar
:
FSCalendar
)
->
Date
{
return
(
dateFormatter
.
date
(
from
:
"2025-07-01"
))
!
return
self
.
gregorian
.
date
(
byAdding
:
.
day
,
value
:
365
,
to
:
Date
(
))
!
}
func
calendar
(
_
calendar
:
FSCalendar
,
cellFor
date
:
Date
,
at
monthPosition
:
FSCalendarMonthPosition
)
->
FSCalendarCell
{
...
...
@@ -134,9 +142,12 @@ extension YHRangeDatePickerView {
configureCell
(
cell
,
for
:
date
,
at
:
monthPosition
)
}
func
calendar
(
_
calendar
:
FSCalendar
,
boundingRectWillChange
bounds
:
CGRect
,
animated
:
Bool
)
{
self
.
calendar
.
frame
.
size
.
height
=
bounds
.
height
}
// MARK: - FSCalendarDelegate
func
calendar
(
_
calendar
:
FSCalendar
,
shouldSelect
date
:
Date
,
at
monthPosition
:
FSCalendarMonthPosition
)
->
Bool
{
// return monthPosition == .current
return
true
}
...
...
@@ -164,13 +175,6 @@ extension YHRangeDatePickerView {
configureVisibleCells
()
}
// func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, eventDefaultColorsFor date: Date) -> [UIColor]? {
// if (gregorian.isDateInToday(date)) {
// return [UIColor.orange]
// }
// return [appearance.eventDefaultColor]
// }
}
// MARK: - Private methods
...
...
@@ -187,6 +191,7 @@ private extension YHRangeDatePickerView {
func
tapOneDate
(
_
date
:
Date
)
{
if
startDate
==
nil
{
startDate
=
date
YHHUD
.
flash
(
message
:
"开始选择结束日期"
)
}
else
if
endDate
==
nil
{
// 比较结果
let
comparisonResult
=
gregorian
.
compare
(
startDate
!
,
to
:
date
,
toGranularity
:
.
day
)
...
...
@@ -208,6 +213,7 @@ private extension YHRangeDatePickerView {
calendar
.
deselect
(
endDate
!
)
startDate
=
date
endDate
=
nil
YHHUD
.
flash
(
message
:
"开始选择结束日期"
)
}
}
...
...
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