Skip to content

[#175] iOS 17에서 PushNotificationSettingsView의 presentationDetents가 제대로 작동하지 않는 버그를 해결한다#176

Merged
opficdev merged 1 commit intodevelopfrom
fix/#175-sheetHeight
Mar 3, 2026
Merged

[#175] iOS 17에서 PushNotificationSettingsView의 presentationDetents가 제대로 작동하지 않는 버그를 해결한다#176
opficdev merged 1 commit intodevelopfrom
fix/#175-sheetHeight

Conversation

@opficdev
Copy link
Copy Markdown
Owner

@opficdev opficdev commented Mar 3, 2026

@opficdev opficdev self-assigned this Mar 3, 2026
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 풀 리퀘스트는 iOS 17에서 PushNotificationSettingsView 내의 DatePicker에 직접 적용된 presentationDetentspresentationDragIndicator 수정자가 예상대로 작동하지 않던 중요한 UI 버그를 해결합니다. 이 수정자들을 DatePicker를 감싸는 부모 View로 옮김으로써 문제가 해결되었으며, 시트의 프레젠테이션 동작이 다양한 iOS 버전에서 일관되고 올바르게 작동하도록 보장합니다. 이 변경 사항은 알림 설정 시트의 의도된 시각적 및 상호작용 동작을 복원하여 사용자 경험을 향상시킵니다.

Highlights

  • iOS 17 버그 수정: iOS 17에서 PushNotificationSettingsViewDatePicker에 적용된 presentationDetentspresentationDragIndicator가 제대로 작동하지 않던 문제를 해결하기 위해 해당 수정자를 DatePicker 내부에서 부모 View로 이동시켰습니다.
Changelog
  • DevLog/UI/Setting/PushNotificationSettingsView.swift
    • presentationDetentspresentationDragIndicator 수정자를 DatePicker 내부에서 부모 View로 이동하여 iOS 17 버그를 수정했습니다.
Activity
  • 현재까지 풀 리퀘스트에 대한 사람의 활동은 없습니다.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

PR은 iOS 17에서 presentationDetents가 제대로 동작하지 않는 버그를 수정하기 위해 관련 수정자(modifier)들을 올바른 뷰로 옮기는 변경사항을 담고 있습니다. 이 수정은 올바른 접근입니다. 다만, 변경된 코드에서 사용되는 시트의 높이(sheetHeight) 계산 방식에 잠재적인 문제가 있어, 이로 인해 UI가 의도치 않게 표시될 수 있습니다. 관련하여 한 가지 개선 제안을 리뷰 코멘트로 남겼습니다.

)
}
.presentationDragIndicator(.hidden)
.presentationDetents([.height(viewModel.state.sheetHeight)])
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

.presentationDetents에 사용되는 viewModel.state.sheetHeight 값이 DatePicker의 높이만을 기준으로 계산되고 있습니다. NavigationStack에 의해 추가되는 네비게이션 바의 높이가 포함되지 않아 시트의 상단 컨텐츠(네비게이션 바)가 잘릴 수 있습니다.

sheetHeight를 계산하는 GeometryReaderNavigationStack 전체에 적용하여 시트의 전체 컨텐츠 높이를 측정하도록 수정하는 것을 고려해보세요.

예시:

NavigationStack {
    // ... DatePicker and toolbar ...
}
.background(
    GeometryReader { geometry in
        Color.clear.onAppear {
            viewModel.send(.setSheetHeight(geometry.size.height))
        }
    }
)
.presentationDragIndicator(.hidden)
.presentationDetents([.height(viewModel.state.sheetHeight)])

@opficdev opficdev merged commit 58c3cb6 into develop Mar 3, 2026
1 check passed
@opficdev opficdev deleted the fix/#175-sheetHeight branch March 3, 2026 15:07
@opficdev opficdev restored the fix/#175-sheetHeight branch March 4, 2026 00:18
@opficdev opficdev deleted the fix/#175-sheetHeight branch March 4, 2026 00:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

iOS 17에서 PushNotificationSettingsView의 presentationDetents가 제대로 작동하지 않는 버그를 해결한다

1 participant