외부 라이브러리 다운 받는 주소 : github.com/John-Lluch/SWRevealViewController
사이드 바 구현하기 위한 라이브러리
사용 방법 :
1. SWRevealViewController.m 와 SWRevealViewController.h 를 자신의 프로젝트에 추가하기
- 추가시 브릿징 헤더 연결 필수!!
- 파일 추가가 완료되면 [프로젝트명]-Bridging-Header 의 이름을 가진 파일이 생성되는데 거기에 #import SWRevealViewController.h를 적어주어야 임포트해서 사용 가능하다
** 브릿지란?
- 스위프트에게 오브젝씨 클래스의 존재를 알려줘 사용할 수 있게끔 해주는 것
- [스위프트 --(참조)--> Bridging-Header.h --(참조)--> Objective-C header
- 오류 발생시 대처
만약 Xcode 버그 또는 옵션을 잘못선택(브릿징헤더 선택안함)의 경우 수동으로 등록해야하는데
프로젝트에 빈 파일 하나를 추가하고, 이름을 Bridging-Header.h로 입력후 내용을 비워둔다
다음으로는 프로젝트의 메타 정보 설정의 Build Settings 탭에서 [Swift Compiler - Genenral] -> [Objectivc-C Bridging Header] 항목에 파일 브릿징 헤더 파일명을 직접 입력하기
브릿징 헤더 파일명 : 프로젝트명/브릿징 헤더파일 명
ex) lgvv9898/Bridging-Header.h
2. 첫번째 뷰 컨트롤러에 SWReavaealVIewController 클래스와 연결
3. 테이블 뷰 컨트롤러를 스토리보드에 추가하고 우선 내용을 비워둔다 (사이드바 역할을 하게 됨)
연결 - 메인 컨트롤러와 테이블 뷰 컨트롤러를 메뉴얼 세그웨이 방식으로 연결하되, 종류는 [reveal view controller set controller]를 선택
4. 스토리보드 화면 다음과 같이 구성
** 다음 사진에서 매우 중요한 점은 세그웨이의 식별자 identifier 속성값인데, 앱 시작시 이니시가 이미지의 파란화면이여도 첫 화면이 front Page가 나타나는데 그 이유는 SWRevealViewController 라이브러리에 정해진 규칙임으로 오타 혹은 임의로 변경하는 일이 없도록 주의
** 카테고리 기능
카테고리란? 스위프트에서 익스텐션과 비슷핫 역할을 하는 오브젝씨의 문법이다.
클래스의 정의 구문을 직접 수정하지 않고 필요한 기능을 추가한다.
그러나 익스텐션과의 차이는 모든 객체에 적용할 수 있는 익스텐션과는 달리 카테고리 문법 적용 범위는 클래스에 국한된다.
-- 자자 프로젝트의 예시를 보면서 보자
대충 이해가지?? 저기 빨간 글씨는 꼭 고정해야돼 이름 바꾸면 안돼!! 사이드 바로 쓸 컨트롤러가 레어 그리고 메인 컨트롤러 따로 만드는 거 잊지 말기
마지막으로 포스팅 제목에 1이 붙는 이유는 외부라이브러리 사용 없이 직접 구현한 것을 2로 포스팅 할 생각이었음.
코드 연습을 끝마쳤으나 구차나서?
여튼 궁금하면 깃헙으로
'Archive > 꼼꼼한 재은씨 시리즈' 카테고리의 다른 글
사이드 바 실제 적용시 고려하면 좋은 것들 (0) | 2021.03.21 |
---|---|
[iOS14] 재사용 메커니즘 (0) | 2021.03.20 |
커스텀 클래스(3) - 커스텀 스테퍼 (0) | 2021.03.19 |
커스텀 클래스(2) - 커스텀 탭 바 컨트롤러 (0) | 2021.03.19 |
커스텀 클래스(1) - 커스텀 버튼 (0) | 2021.03.19 |