Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feat] #200 - 커스텀 바텀 시트 개발 하였습니다. #204

Merged

Conversation

thingineeer
Copy link
Collaborator

@thingineeer thingineeer commented Nov 6, 2023

🌱 작업한 내용

  • textField가 있는 바텀시트 개발
  • type 형식으로 Custom 개발 가능
    • image
    • textField

🌱 PR Point

  • 상황에 따라 시트 부분이 아닌 부분을 입력 시 어떤 action으로 작동할지 필요
  • type 형식을 받아 템플릿을 제공해 주는 코드라서 확장성을 요구하는 코드 구조
  • 다양한 기능을 전부 구현하진 않아서 기능 요구사항이 들어오면 좀 더 확장을 해야 합니다.

📸 스크린샷

바텀 시트
image

📮 관련 이슈

@thingineeer thingineeer added Add Feat 이외의 부수적인 코드 추가, 새로운 View 생성, 파일 추가 Feat 새로운 기능 구현 명진😼 labels Nov 6, 2023
@thingineeer thingineeer self-assigned this Nov 6, 2023
Comment on lines +97 to +100
if BottomsheetType == .TextField {
showBottomSheet()
setupGestureRecognizer()
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

질문 ! 두 함수를 textField 타입일때만 추가해준 이유가 있나요?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

.image 같은 경우 아직 사용한 적이 없는데,
원래 사용하려던 목적은
러닝 완료 후 -> 러닝 종료 화면이 뜨면 완료 버튼 말고는 못 누르는 로직이었던 것 같은데,, 예전에?

일단은 저희가 BottomSheet만 사용하기 때문에 따로 빼서 관리를 해주었습니다!

Comment on lines 251 to 254
let safeAreaHeight: CGFloat = view.safeAreaLayoutGuide.layoutFrame.height
let bottomPadding: CGFloat = view.safeAreaInsets.bottom

bottomSheetViewTopConstraint.constant = (safeAreaHeight + bottomPadding) - bottomHeight
Copy link
Collaborator

Choose a reason for hiding this comment

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

초기에 bottomSheetViewTopConstraint를 설정해서 변경하는 방법도 있지만
조금 더 스냅킷스럽게(?) 코드를 수정해보자면 초기 bottomSheetView 레이아웃 설정시 높이를 0으로 주고 showBottomSheet() 내부에서 remakeConstraints 사용해서 레이아웃을 다시 잡아주는 방법도 좋을 것 같아요 !!

// 맨 처음 레이아웃 설정시 높이를 0으로 설정
bottomSheetView.snp.makeConstraints {
            $0.leading.trailing.bottom.equalToSuperview()
            $0.height.equalTo(0)
        }

// showBottomSheet() 내부에서 레이아웃을 다시 잡아주기
bottomSheetView.snp.remakeConstraints {
            $0.leading.trailing.bottom.equalToSuperview()
            $0.height.equalTo(204)
        }

다음에 레이아웃이 변경될 일이 생긴다면 remakeConstraints 사용하는 방법 추천드리옵니다 ~

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

예시 코드 까지 👍👍👍
적절하게 코드 수정해서 다시 푸쉬 하겠습니다~

@513sojin
Copy link
Collaborator

513sojin commented Nov 7, 2023

멘트를 못달았는데,, 수고하셨읍니다 😇 나날이 발전하는 명진 최고 ~

@thingineeer
Copy link
Collaborator Author

2차 업데이트 이후 코드 정리 필요

@thingineeer thingineeer removed the request for review from lee-yeonwoo November 12, 2023 17:19
@thingineeer thingineeer merged commit 4ab6174 into Runnect:develop Nov 12, 2023
1 check passed
@thingineeer thingineeer deleted the #200---커스텀-바텀-시트-개발 branch November 12, 2023 17:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Add Feat 이외의 부수적인 코드 추가, 새로운 View 생성, 파일 추가 Feat 새로운 기능 구현 명진😼
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feat] #200 - 커스텀 바텀 시트 개발
2 participants