Skip to content

Commit

Permalink
[Refactor] #51 - 바텀 시트 종류마다 Detent 값을 동적으로 설정하도록 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
rafa-e1 committed Jan 18, 2025
1 parent 858f06c commit 6d5f60c
Showing 1 changed file with 27 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,36 @@ import SwiftUI
struct DynamicPresentationDetent {

/// 기기 화면 크기에 따라 동적으로 Detent 값을 반환
static func dynamicDetent() -> Set<PresentationDetent> {
static func dynamicDetent(
for type: PickerButtonType
) -> Set<PresentationDetent> {
let screenHeight = UIScreen.main.bounds.height
let detentHeight: CGFloat

switch screenHeight {
case 0..<668: // 작은 기기
detentHeight = 0.6
case 668..<875: // 중간 기기
detentHeight = 0.53
case 875..<957: // 대형 기기
detentHeight = 0.5
default: // 그 외 모든 기기
detentHeight = 0.6
switch type {
case .date:
switch screenHeight {
case 0..<668: // 작은 기기
detentHeight = 0.6
case 668..<875: // 중간 기기
detentHeight = 0.53
case 875..<957: // 대형 기기
detentHeight = 0.5
default:
detentHeight = 0.6
}

case .time, .repeat, .endRepeat, .tag:
switch screenHeight {
case 0..<668:
detentHeight = 0.43
case 668..<875:
detentHeight = 0.36
case 875..<957:
detentHeight = 0.33
default:
detentHeight = 0.43
}
}

return [.fraction(detentHeight)]
Expand Down

0 comments on commit 6d5f60c

Please sign in to comment.