인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

seonjukim님의 프로필 이미지
seonjukim

작성한 질문수

야곰의 iOS 프로그래밍

예제 함께하기 - 할 일 화면 코드작성(2)

화면이 야곰님처럼 로드되지 않아 질문드립니다.

작성

·

241

0

안녕하세요. 이번 강의 4분 부분까지 코드 작성해서 시뮬레이터 돌려봤는데 화면이 야곰님처럼 나오지가 않아서 질문 드립니다.

https://drive.google.com/file/d/1p2cu_FJyIHfHfnmidca4x2MQHUZIMpJx/view?usp=sharing

코드 압축한 파일이구요.

여기서 테스트 1을 누르면

이렇게 제목과 내용이 전혀 뜨지 않고, datePicker 모양도 다르게 나오는 것 같습니다. Edit 버튼도 보이지 않습니다.

모달창을 내리면 테스트1 클릭 당시처럼 테스트1이 계속 회색으로 유지되고 있는데 이것도 왜 그런 것인지 모르겠습니다. ㅠㅠ

공유해주신 코드블럭 그대로 복붙한 것이라 코드는 정확히 작성했다고 생각하는데 강의 촬영 당시와 버전이 달라져서 생기는 문제인지, 코드를 어떻게 바꿔주면 좋을지 궁금합니다.

 

답변 2

0

yagom님의 프로필 이미지
yagom
지식공유자

오, 제가 질문의 의도를 잘못 파악한 것 같습니다.

 

우선 제가 해결해드리려 했던 문제는, Todo 입력 화면을 꽉찬 화면으로 안내해드리려 했는데, 그건 + 버튼을 눌렀을 때 올라오는 뷰 컨트롤러의 Modal Style을 변경해줘야 합니다.

그런데 지금 올라오는 모달의 뷰 컨트롤러는 TodoViewController가 아니라 Navigation View Controller에요. 그래서 스토리보드로 이동해서 TodoViewController를 관리하는 Navigation View Controller의 Modal Style을 변경하면 됩니다.

 

그런데 지금은 그게 문제가 아니라, 

 

선주님의 처음 궁금증을 해결해보자면, 

 

guard let todoViewController: TodoViewController = segue.destination as? TodoViewController else {

    return

}

코드에서 segue의 destination이 Navigation View Controller이기 때문에 return 되어버린거에요.

이 곳에서 return 되지 않아야 정상적으로 작동할겁니다.

destination이 왜 Navigation View Controller가 되었는지는 스토리보드를 확인해보면 알 수 있습니다.

 

또, Todo 화면에서 Date Picker의 모습이 다른 것은 iOS 버전 변경에 따른 사항입니다. 이번 버전에서 Date Picker 모습이 선주님이 보고계신 모습으로 바뀌었으니 걱정하실 필요는 없습니다.

 

seonjukim님의 프로필 이미지
seonjukim
질문자

감사합니다! 궁금했던 것들이 모두 해결되었습니다 👍👍

말씀해주신 것처럼 스토리보드에서 segue의 destination만 바꿔주었더니 모두 정상작동하네요 ㅠㅠ 뭐가 문제인지 몰라 답답했는데 친절한 설명 너무 감사합니다! segue에 대해서도 좀 더 공부해봐야겠네요. 강의 너무 잘 듣고 있습니다~

 

yagom님의 프로필 이미지
yagom
지식공유자

궁금증이 해결되어 다행입니다!! ㅎㅎ

언제든 질문 주세요 :)

 

0

yagom님의 프로필 이미지
yagom
지식공유자

아래 링크 참고해서 Modal Style을 바꿔보시겠어요?

[iOS] iOS13 Modal Style 및 Life Cycle :: jinnify 기술 블로그 (tistory.com)

 

seonjukim님의 프로필 이미지
seonjukim
질문자

TodoViewController.swift의 viewDidLoad에 self.modalPresentationsStyle = .fullScreen 라인을 추가했는데 여전히 동일합니다. 이렇게 하는 게 아닌가요?

seonjukim님의 프로필 이미지
seonjukim

작성한 질문수

질문하기