IOS 프로그래밍

본문 바로가기

사이트 내 전체검색


10. 스토리보드에서 Segue 사용하기

페이지 정보

작성자 관리자 댓글 0건 조회 4,616회 작성일 19-11-08 18:58

본문

스토리보드란?


- 여러개의 화면으로 IOS 어플리케이션을 구성하는 방법과 이 화면들의 네비게이션 경로를 시각적으로 구성하는 기능을 제공한다.

- 인터페이스 빌더를 사용하여 뷰 컨트롤러와 내비게이션 컨트롤러를 캔버스에 간단히 드레그 앤 드롭함으로써 사용자 인터페이스를 디자인할 수 있다.

- 버튼과 같은 컨트롤에서 해당하는 뷰 컨트롤러 선을 드래그하여 컨트롤이 선택되었을 때 표시되어야 할 것을 연결할 수 있다.

- 화면들(scenes)과 화면 사이의 전화(segues)을 설계하면, xcode는 애플리케이션의 완성에 필요한 코드를 만들어 준다.

- 페이지가 접히고 대각선으로 사라지는 등의 전환 형태 역시 인터페이스 빌더에서 정의한다.

- 프로그램을 통해 segues를 호출하는 것도 가능하다.



프로젝트 생성


- Product Name : Stroryboard

- User Interface : Storyboard


1.png


2.png


3.png


4.png



스토리보드 접근하기


- 프로젝트 내비게이터 화면에서 Main.storyboard을 선택하면 스토리보드 캔버스가 표시된다. 

- 캔버스에 표시되는 화면은 Single View Application 템플릿에 의해 xcode가 생성한 ViewController의 뷰이다.

- 왼쪽에 들어오는 모습의 화살표는 첫번째 뷰 임을 나타내며, 애플리케이션이 실행될 때 처음으로 화면에 표시됨을 의미한다.

- 오브젝트 라이브러리에서 객체들을 캔버스로 드래그 앤 드롭하여 다음과 같이 구성한다.

- 레이블과 버튼을 추가하고, 프로퍼티 하면에서 레이블의 문자열을 Scen 1으로, 버튼의 문자열을 Go to Scen 2로 바꾼다.

- 레이블과 버튼의 크기를 조절하고, 텍스트를 중앙 정렬한다.



5.png


6.png


7.png


8.png


9.png


 

레이블에 아웃레 추가


- 애플리케이션 코드에서 레이블 객체에 표시되는 텍스트를 생성하기 위해서는 아웃렛을 만드는 것이 제일 먼저 필요하다.

- 에디터 창을 스토리보드 캔버스 옆에 보이게 한다.

- 레이블을 선택하고 [Ctrl]키를 누른 상태에서 소스코드로 마우스로 드래그 앤 드롭한다.


13.png 

오른쪽 끝에 있는 [+]를 클릭하여 우측에 창을 추가하고, ViewController.swift 파일을 선택한다.


14.png 


10.png


11.png


12.png


 

스토리보드에 Scenes 추가하기


- 두번째 화면(Scene)을 스토리보드로 추가하기 위해 오브젝트 라이브러리에서 View Controller 오브젝트를 캔버스로 드래그 한다.



15.png


16.png


17.png


두번째 화면이 스토리보드에 추가된다. 



두번째 화면 구성


- 레이블과 버튼을 두번째 화면으로 드래그 앤 드롭한다.

- 레이블은 Scene2로 수정한다.

- 버튼은 Go to Scene 1로 수정한다.


18.png



스토리보드에 Segues구성하기 


- Segue는 스토리보드의 한 화면에서 다른 화면으로 전환하는 것을 말한다.

- Go to Scene 2버튼을 클릭하면 화면2로 전환된다.

- 화면2의 버튼은 화면1로 돌아가기 위해 사용된다.

- Segue를 구성하기 위해 [Ctrl]키를 누른 상태에서 컨트롤(화면1의 버튼)을 클릭하고 결과선을 화면2의 뷰로 드래그 한다.



19.png


20.png


Present Modelly 를 선택한다. 


21.png


화면1과 화면2를 연결하는 segue가 추가되었다. 


- 여러화면이 스토리보드에 추가될 수록 화면에서 알아보기는 힘들어질 것이다.

- [Ctrl]키를 누르고, 캔버스를 클릭하면 확대/축소를 위한 메뉴가 나타난다.

- 줌 버튼이 캔버스의 하단에 있다.



22.png



스토리보드 전환 구성하기 


- 스토리보드의 시각적 효과를 설정할 수 있는 옵션이다.

- segue를 선택하면 속성창이 나타난다.



23.png


24.png


- Transition 설정을 Cross Dissolve로 변경한다. 

- 전환하는 동안 애니메이션이 필요하지 않다면 Animates옵션을 끄도록 한다.

- Segue를 삭제하기 위해서는 화살표를 선택한 후 키보드의 delete키를 누른다.



Constraints 설정하기


- 레이블과 버튼을 width = 200, height = 50 으로 설정한다.

- 상단에서 150 아래에 레이블을 위치시키고, 그 아래로 100 밑으로 버튼을 위치시킨다.



26.png


27.png


28.png 



어플리케이션 실행하기


- 어플리케이션을 실행한다.

- Go to Scene 2버튼을 터치하면 화면2가 나타날 것이다.



25.png 


화면1에서 Go to Scene2 버튼을 터치한다. 화면 2가 나타난다. 

29.png


화면2에서 Go to Scene1을 터치해도 아무런 반응이 없다. 화면2을 닫고, 화면1로 돌아가도록 수정해보겠다. 


30.png



스토리보드 Segue 되돌리기 


- 다음 단계는 화면2에서 화면1로 돌아오도록 화면2에 있는 버튼을 설정하는 것이다.

- ViewController.swift 에 unwind을 위해 returned 메서드를 추가한다.

- 스토리보드 캔버스에 있는 화면2로 가서 버튼을 [Ctrl]키를 클릭한 상태로 드래그 하여 View Controller의 exit아이콘에서 놓고 returned 메서드를 선택한다.



31.png


32.png


Action Segue에서 returnedWithSegue를 선택한다. 


33.png



어플리케이션 실행하기


- 어플리케이션을 실행한다.

- 화면1에서 Go to Scene 2를 터치하면 화면2로 전환된다.

- 화면2에서 Go to Scene 1를 터치하면 화면1로 전환되는 것을 확인할 수 있다. 



34.png


35.png



댓글목록

등록된 댓글이 없습니다.



개인정보취급방침 서비스이용약관
Copyright © www.leelab.co.kr All rights reserved.
상단으로
TEL. 063-469-4551 FAX. 063-469-4560
전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과
PC 버전으로 보기