본문 바로가기

iOS

[ iOS / Swift ] 온보딩(Onboarding) 화면 만들기 - (3) UIPageControl, UIPageViewController

이제 버튼을 추가해서 버튼으로도 화면을 움직이고 마지막 화면인 경우에는 버튼의 텍스트가 바뀌도록 해보겠다

 

1. 우선 PageControl이 있는 화면에 버튼을 추가해 주고 ViewController에도 연결해 준다. 

 

 

2. 버튼에 대한 설정을 해준다.

- 버튼이 눌렸을 때 페이지가 이동할 수 잇도록 ViewController에 버튼 액션을 연결

- 버튼이 눌리면 PageControl의 현재 페이지를 가져와서 +1 해줘서 다음 페이지 인덱스를 가져오도록 하고

- PageViewController의 페이지를 다음 페이지로 넘겨주고 PageControl의 다음 페이지에 맞게 UI가 바뀌도록 설정해 준다.

여기까지 하면 버튼을 통해 다음 페이지로 넘어갈 수 있게 된다.

이제 마지막 페이지가 되면 버튼의 텍스트가 다음에서 마지막으로 바뀌도록 설정해 주겠다.

 

3. 마지막 페이지인 경우 텍스트가 바뀌도록 설정해 준다.

if문으로 전환될 페이지가 마지막 페이지 인덱스라면 버튼 텍스트를 바꾸도록 하는 함수를 생성해 주고

이 함수를 화면이 바뀌는 부분이 있는 곳마다 실행해 준다.

- 화면이 바뀌는 부분은 버튼을 눌렀을 때

- 페이지 컨트롤을 변경했을 때

- 델리게이트를 통해 페이지 컨트롤을 변경했을 때 

마지막 페이지인 경우 창을 닫는다던지 다른 액션을 설정해주고 싶다면 위에처럼 페이지를 체크해서 다르게 행동하도록 설정해 주면 된다.

 

 

 

완성!

 

분량이 길어 코드가 일부만 들어간 경우도 있어서 전체 코드 레포 주소 첨부합니다