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

만국박람회[Step3]Toy,Kiseok #302

Open
wants to merge 9 commits into
base: ic_10_kiseok
Choose a base branch
from

Conversation

Developer-Groo
Copy link

@Developer-Groo Developer-Groo commented Nov 8, 2023

@stevenkim18
안녕하세요! Steven 만국박람회 프로젝트 Step3 Pr 보내드립니다!
오토레이아웃 요구사항에 대한 GIF파일이 없어서 정확하게 한건지 잘 모르겠습니다..
그래도 저희의 최선을 다해봤습니다!! 잘부탁드립니다~

🧐고민되었던 점

특정 화면에서만 화면 회전 구현

특정 ViewController에서 화면 회전을 처리 할때
var shouldAutorotate: Bool { get } 프로퍼티를 override하여 사용하려고 했지만 deprecated 되어 더이상 사용 할 수 없었습니다.
그래서 아래와 같은 방법으로 화면 회전을 구현하였습니다.

var shouldSupportAllOrientaion = false

func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
    UIInterfaceOrientationMask {
        if shouldSupportAllOrientaion {
            return [.all]
        } else {
            return [.portrait]
        }
}

위와 같은 방식으로 AppDelegate파일에서 해당 메서드안에서 분기 처리를 하고 화면 회전의 처리가 필요한 ViewController마다 각각 AppDelegate에 접근하여 Bool타입으로 분기처리를 할 수있도록 구현하였습니다.

UIButton 타이틀 Dynamic type 문제

Dynamic type을 HomeViewController에 적용 하였을 때 버튼의 타이틀이 위에 있는 label과 곂쳐지는 현상이 발생하였습니다.
그래서 UIButton을 감싸고 있는 StackView의 Relation을 Equal에서 Greater Than Equal로 변경하였고 해당 StackView안에 있는 요소들의 Hugging Priority의 Horizontal을 각각 Low로 낮추어 늘어나지 않고 StackView의 높이를 View의 5%보다 크거나 같도록 설정하여 문제를 해결하였습니다.

😀STEP3 오토레이아웃 요구사항 실행화면

15pro se
15pro3 se1
15pro5 se2
15pro6 se3
화면전환
15pro1
15pro2
15pro4

Copy link

@stevenkim18 stevenkim18 left a comment

Choose a reason for hiding this comment

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

스탭3까지 오시느라 너무 고생많으셨습니다👍

확실히 스토리보드로 오토레이아웃을 구현하시니까 코드를 매우 보기 힘드네요.. ㅎㅎ


고민하신 점에 대한 답변

특정 화면에서만 화면 회전 구현

특정 ViewController에서 화면 회전을 처리 할때
var shouldAutorotate: Bool { get } 프로퍼티를 override하여 사용하려고 했지만 deprecated 되>어 더이상 사용 할 수 없었습니다.
그래서 아래와 같은 방법으로 화면 회전을 구현하였습니다.

deprecated 된 경우 구현할 수 다른 방법이 있습니다.
os 버전 별로 분기처리가 가능합니다.
이것에 대해서 한 번 공부해보시면 좋을 것 같아요.

UIButton 타이틀 Dynamic type 문제

Dynamic type을 HomeViewController에 적용 하였을 때 버튼의 타이틀이 위에 있는 label과 곂쳐지>는 현상이 발생하였습니다.
그래서 UIButton을 감싸고 있는 StackView의 Relation을 Equal에서 Greater Than Equal로 변경하>였고 해당 StackView안에 있는 요소들의 Hugging Priority의 Horizontal을 각각 Low로 낮추어 늘어>나지 않고 StackView의 높이를 View의 5%보다 크거나 같도록 설정하여 문제를 해결하였습니다.

이런 경우 변경 전과 변경 후 이미지를 첨부해주시면 더 좋을 것 같아요 ㅎㅎ


요구사항과 다른 UI

image

요구사항 gif를 보면 스크롤 뷰 회색 바가 오른쪽 화면에 딱 붙어 있는데
구현하신 것을 캡쳐하신 것을 보면 살짝 공백이 있네요.
이 부분은 수정해주시면 좋을 것 같습니다.


추가 요구 사항

스토리보드로 보니 리뷰하기가 어렵네요 ㅎㅎ
그래서 오토레이아웃 하신 것을 그림을 그려서 올려주시거나
아니면 미팅 요청하셔서 구두로 말씀해주시면 감사하겠습니다 ㅎㅎ

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.

3 participants