본문 바로가기

개발

(38)
[ios] 핀치 제스처 핀치 제스처란? 핀치 제스처(Pinch Gesture)는 두 손가락으로 화면을 확대 / 축소할 때 사용하는 이벤트로, 화면 확대 / 축소 기능이 들어간 모든 앱에서 사용할 수 있습니다.
[ios] 스와이프 제스처 스와이프란? 손가락으로 화면을 상하좌우로 미는 동작이 바로 '스와이프' 제스처입니다. 이런한 스와이프 제스처(Swipe Gesture)는 간단한 갤러리 앱뿐만 아니라 PDF 뷰어, 키노트(Keynote)와 같은 문서 편집기 앱과 페이지 넘기는 동작이 들어간 앱에서 많이 사용되고 있습니다. 한 손가락 스와이프뿐만 아니라 여러 손가락을 사용한 스와이프 제스처도 가능합니다. 예를 들어 PDF앱은 한 손가락으로 스와이프하면 밑줄이 그어지고, 두 손가락을 사용하면 페이지가 넘어갑니다. 스와이프 제스처 인식하기 스와이프 제스처는 UISwipeGestureRecognizer 클래스에 의해 인식됩니다. 즉, UISwipeGestureRecognizer 클래스 상수의 direction 속성에 원하는 방향을 설정한 후 뷰..
[ios] 탭과 터치 아이폰과 아이패드에서 사용자의 입력을 받아들이는 장치는 두 개의 버튼과 한 개의 스위치 그리고 터치 스크린입니다. 이 중에서 사용자가 많이 사용하는 입력 장치는 단연 '터치 스크린'입니다. 사용자는 매일, 매 순간 터치 스크린을 탭하고 터치하는 등의 동작의 연속으로 아이폰이나 아이패드를 사용하고 있습니다. '터치(Touch)'가 화면을 만지는 모든 행위를 말한다면, '탭(Tap)'은 화면을 톡톡 두드리는 행위를 말합니다. 아이폰이나 아이패드에서는 보통 화면을 확대하거나 축소할 때 탭을 사용합니다. 이 터치와 탭은 화면을 만지는 순간 즉각적으로 반응합니다. 마우스로 무언가를 '클릭'하는 것처럼 말이죠. 멀티 터치 활성화하기 기본적으로 터치 이벤트는 하나의 터치에 대해서만 동작하도록 설정되어 있습니다. 하지..
[ios] 코어 그랙픽스(Core Graphics) 코어 그랙픽스란 아이폰과 아이패드에서 2차원 그래픽을 그릴 수 있도록 제공하는 그래픽 라이브러리입니다. 코어 그래픽스는 애플이 제공하는 '쿼츠(Quartz)'라는 그래픽 라이브러리 안에 포함되어 있습니다. ※쿼츠는 하나의 라이브러리가 아니라 코어 그래픽(Core Grapic)과 코어 애니메이션(Core Animation)으로 구성되어 있습니다.
[ios] AVAudioPlayer AVAudioPlayer란? 아이폰에서는 대부분의 정보를 화면을 통해 제공하지만 간혹 소리를 이용해 정보를 제공하기도 합니다. 예를 들어 운전 중일 때 화면을 통한 정보 제공은 위험합니다. 이때는 소리를 이용한 정보 전달이 가장 효과적인 방법일 것입니다. ios에서는 기본적으로 음악 재생 앱과 녹음 앱을 제공합니다. 오디오 파일을 재생할 수 있다면 벨소리나 알람과 같이 각종 소리와 관련된 작업을 할 수 있스빈다. 또한 일정 관리 앱에 녹음 기능을 추가해 목소리로 메모를 하는 등 메인 기능이 아닌 서브 기능으도 사용할 수 있습니다. 오디오를 재생하는 방법 중 가장 쉬운 방법은 AVAudioPlayer를 사용하는 것입니다. AVAudioPlayer는 다음과 같이 다양한 오디오 포맷 및 코덱을 지원합니다. A..
[ios] 자동 레이아웃 설정 자동 레이아웃이란? 자동 레이아웃(Auto Layout)은 기기의 디스플레이 크기와 관계없이 동일한 레이아웃을 구현하는 기능입니다. 예를 들어 자동 레이아웃 기능을 사용하지 않을 경우에는 스토리보드에서 작업한 아이폰은 크기가 딱 맞지만 다른 디스플레이 크기에는 맞지 않습니다. 하지만 자동 레이아웃 기능을 사용하면 이미지 뷰의 위, 오른쪽 아래, 왼쪽 여백이 알맞게 설정되어 디바이스가 바뀌어도 해당 디바이스의 여백에 맞게 배치됩니다. 미리보기 사용하기 자동 레이아웃을 사용하기 전에 미리보기 기능을 알아보기. 자동 레이아웃을 설정하려면 여러 디바이스에 동일하게 내용이 적용되고 있는지 확인하면서 진행해야 합니다. 하지만 디바이스마다 적용된 내용이 잘 나오는지 확인하려면 각 디바이스에 맞는 시뮬레이터를 선택하고..
[ios] 테이블 뷰 컨트롤러 테이블 뷰 컨트롤러란? 데이터를 목록 형태로 보여 주기 위한 가장 좋은 방법은 테이블 뷰 컨트롤러(Table View Controller)를 이용하는 것입니다. 테이블 뷰 컨트롤러는 사용자에게 목록 형태의 정보를 제공해 줄 뿐만 아니라 목록의 특정 항목을 선택하여 세부 사항을 표시할 때 유용합니다. 이런 테이블 뷰 컨트롤러를 잘 설명해 줄 대표적인 앱으로 알람, 메일, 연락처 등이 있습니다. 1. 기존의 뷰 컨트롤러 삭제하기 2. 테이블 뷰 컨트롤러 추가하기 3. 네비게인션 컨트롤러 추가하기(화면이동) 4. 뷰 컨트롤러 추가하기( 목록 추가화면, 디테일 화면) 5. 뷰 전환 추가하기 (액션 세그웨이) ※ 세그웨이 지정 방법 1. Show : Swift 2.x 에서의 [Push]와 유사합니다. 기본 뷰 컨..
[ios] 내비게이션 컨트롤러 내비게이션 컨트롤러란? 탭 바 컨트롤러는 보통 각 화면이 서로 연관성이 없는 경우가 많은데, 그렇다면 화면과 화면을 전환할 때 연관성이 많거나 데이터를 주고받아야 하는 경우에는 어떻게 해야 할까요? 그런 경우에 사용하는 것이 바로 내비게이션 컨트롤러입니다. 내비게이션 컨트롤러를 스토리보드에 추가하기 뷰 추가하기 [Library] 버튼을 클릭한 후 팝업 창에 [뷰 컨트롤러 (View Controller)]를 끌어다 '메인화면' 컨트롤러의 오른쪽 빈 공간에 갖다 놓습니다 뷰 전환하기 [Edit] 바 버튼을 마우스 오른쪽 버튼으로 클릭한 채 오른쪽의 뷰 컨트롤러에 갖다 놓습니다. 그러면 검은색 창이 나타나는데, 여기에서 [Action Segue]를 [Show]로 선택합니다. 그러면 '메인화면'에서 서브 화면으..