Toy Project/One Piece (iOS)

5. Present View Controller: 새로운 View Controller 띄우기

개발자킹콩 2021. 1. 31. 03:18

우리가 만든 TableView의 Cell을 클릭했을때 상세페이지가 뜨도록 할 것이다.

 

우리는 DetailViewController을 만들려고 하는데 그럼 코드를 작성해보자!

 

File을 생성해서(커맨드+N) DetailViewController을 생성하자.

 

 

 

그리고 StoryBoard에 DetailViewController에 대응되는 것을 하나 만들자.

Object library에서 새로운 ViewController을 가져오서 DetailViewController과 연결시킨다.

 

 

 

이제 object library에서 button가져와서 close_ic 이미지를 넣어보자. 글자빼기

그리고 Auto Layout 바로 적용. 자신에게 끌고와서 넓이높이 만들고, 상단우측과 연결.

(상단 우측은 View에 가져다 대야한다.)

 

 

 

 

 

Close 버튼을 눌렀을 때의 action을 정의하기 위해 control로 코드에 가져다 댄다.

 

 

 

 

 

 

중요한 것은 Cell이 클릭 되었을 때 DetailView를 보게 하려면 두 개의 ViewController가 연결되어 있어야 한다.

 

 

 

연결 모드를 선택할 수 있고 우리는 Present Modelly 모드로 DetailView를 띄우려 한다.

 

두 ViewController간에는 Segue way로 연결될 수 있다.

여러 개의 Segue가 있을 때 ID를 설정하면 그 중 하나를 선택해서 특정 Segue way를 지정할 수 있다.

 

우리가 연결한 Segue way의 identifier은 “showDetail” 이다.

 

 


 

 

 

그럼 이제 우리는 클릭이 되었을 때의 부분을 수정하면 된다.

 

 

 

 

여기서 performSegue를 실행하는데, id와 sender를 지정하면 된다. Segue를 수행하는데 있어서 어떤 특정 object를 같이 껴서 보낼 수가 있다.

 

 

 

여기서 선택되면 회색표시가 나는데 원래 Default가 회색이니 이것을 None으로 바꾸자.

그럼 클릭하면 DetailView는 나오게 된다. 그럼 이제 DetailView에 데이터를 넣어보자.