서브메뉴

본문

아이폰 프로그래밍 UIKit 핵심 바이블
아이폰 프로그래밍 UIKit 핵심 바이블
저자 : 편집부
출판사 : 정보문화사
출판년 : 2011
정가 : 25000, ISBN : 9788956745305

책소개


UIKit는 모든 iPhone/iPad 애플리케이션의 핵심이 되는 프레임워크이다. UIKit는 애플리케이션의 기본 부분을 제어하고 터치 판넬 조작이나 모션 등 사용자 조작을 감지하며, 화면 표시를 하기 위한 각종 기능을 제공한다. UIKit 지식을 잘 이해한다면 보다 능률이 높고 결함이 적은 iPhone/iPad 애플리케이션을 개발할 수 있게 될 것이다.

‘UIKit는 대체로 어떤 기능으로 구성되어 있는 걸까?’‘UISlider를 사용하려고 하는데 어떤 식으로 하면 될까?’‘UIBarButton의 초기화 방법이 생각나지 않는데 어떻게 하는 거였지?’‘전체 화면은 어떻게 하면 될까?’『아이폰 프로그래밍 UIKit』는 iPhone SDK에 대해서 어느 정도 알고 있는 독자가 이런 의문에 빠졌을 때 빠르게 참고할 수 있는 책이다. 이 책을 통해 iPhone 프로그램의 주요 기능을 익힐 수 있다.

목차


Intro 이 책을 읽기 전에

Unit 0.1 시작하며
0.1.1 이 책의 목적
0.1.2 이 책의 특징
0.1.3 이 책의 구성

Unit 0.2 UIKit
0.2.1 UIKit란
0.2.2 UIKit 클래스 구성

Unit 0.3 샘플 코드에 대해서
0.3.1 샘플 코드 다운로드
0.3.2 인스턴스 변수 명명 규칙
0.3.3 화면의 기본이 되는 UIView
0.3.4 초기화 처리의 간략화
0.3.5 내비게이션 바와 툴 바

Chapter 01 Hello, UIKit!

Unit 1.1 가장 간단한 Hello, world!
1.1.1 시작하는 첫 걸음
1.1.2 Hello, World! 프로젝트의 작성
1.1.3 인터페이스 빌더를 통한 화면 작성
1.1.4 시뮬레이터에서 실행하기

Unit 1.2 Hello, world! 에 기능 추가하기
1.2.1 기능 추가할 내용
1.2.2 Inspector 사용
1.2.3 개선된 ‘Hello, world!’의 실행

Unit 1.3 인터페이스 빌더를 사용하지 않는 Hello, world!
1.3.1 인터페이스 빌더는 필수인가?
1.3.2 HelloWorldAppDelegate.m 편집
1.3.3 시뮬레이터에서 실행

Unit 1.4 인터페이스 빌더와의 완전 결별
1.4.1 인터페이스 빌더의 잔해
1.4.2 MainWindow.xib의 삭제
1.4.3 info.plist 편집
1.4.4 main.m 편집
1.4.5 HelloWorldAppDelegate.m 편집
1.4.6 인터페이스 빌더를 사용해야만 하는가?

Chapter 02 UIView 상세 설명

Unit 2.1 UIView의 기본
2.1.1 UIView란
2.1.2 위치와 크기 결정
2.1.3 UIView 숨기기
2.1.4 배경색의 변경
2.1.5 투과
2.1.6 alpha 속성과 backgroundColor의 alpha값의 차이

Unit 2.2 컨텐츠 관리
2.2.1 UIView 컨텐츠
2.2.2 컨텐츠의 자동 크기 조정
2.2.3 컨텐츠의 정렬 가능 범위 지정
2.2.4 UIView를 컨텐츠에 맞추기
2.2.5 아핀 변환(확대, 축소, 반전, 평행이동)

Unit 2.3 UIView 중첩 구조
2.3.1 자식요소의 추가
2.3.2 자식요소의 추가와 삭제
2.3.3 UIView를 앞으로 보이기/ 뒤로 감추기
2.3.4 태그 사용과 UIView 검색

Unit 2.4 UIView 레이아웃
2.4.1 레이아웃의 개조
2.4.2 자식요소의 자동 크기 조정
2.4.3 좌표계의 변환

Unit 2.5 UIView 상태 감시
2.5.1 상태 감시용 메소드

Chapter 03 UIViewController와 화면전환

Unit 3.1 UIViewController와 화면
3.1.1 UIViewController는 왜 필요한가?
3.1.2 UIViewController의 변환

Unit 3.2 화면전환
3.2.1 UITapBarController에 의한 병렬적 화면전환
3.2.2 UINavigationController에 의한 계층적 화면전환
3.2.3 여러 단계의 계층을 한 번에 거슬러 올라가기
3.2.4 모달 화면의 표시

Unit 3.3 탭 바의 활용 (UITabBarController)
3.3.1 탭 바(UITabBar)의 참조
3.3.2 시스템 아이콘 등록
3.3.3 사용할 아이콘 등록
3.3.4 탭 바에 6개 이상의 화면 등록
3.3.5 탭 바 아이콘의 배지(badge)

Unit 3.4 내비게이션 바의 활용(UINavigationController)
3.4.1 내비게이션 바의 4개 부분
3.4.2 내비게이션 바의 개조
3.4.3 내비게이션 바의 색

Unit 3.5 툴 바의 활용
3.5.1 툴 바의 표시
3.5.2 툴 바의 자동 표시 숨김
3.5.3 툴 바에 버튼 등록
3.5.4 툴 바의 색상

Unit 3.6 바 버튼 아이템
3.6.1 시스템 바 버튼
3.6.2 툴 바의 버튼 간격 조절
3.6.3 기존 바 버튼
3.6.4 커스텀 바 버튼

Unit 3.7 UIViewController와 각 요소의 관계
3.7.1 UIViewController와 UIView/UIWindow의 관계
3.7.2 UITabBarController와 각 화면의 관계
3.7.3 UINavigationController와 각 화면의 관계
3.7.4 UIViewController와 모달 화면의 관계

Unit 3.8 UIViewController의 상태 감시
3.8.1 상태 통지 메소드
3.8.2 최상위 view가 로드되는 시점
3.8.3 메모리 부족 시 대처 방법

Chapter 04 전체 화면과 화면 회전

Unit 4.1 전체 화면
4.1.1 가장 간단한 전체 화면 대응
4.1.2 좀 더 부드러운 전체 화면 교체

Unit 4.2 화면 회전
4.2.1 화면 회전의 간단한 구현
4.2.2 화면 회전 시의 자동 크기 조절
4.2.3 화면 회전 시의 커스터마이즈
4.2.4 화면 회전 커스터마이즈용 메소드

Unit 4.3 화면 회전과 전체 화면의 공존
4.3.1 추천 코드를 이용할 경우
4.3.2 내비게이션 바의 alpha값을 직접 편집할 경우

Chapter 05 그래픽과 애니메이션

Unit 5.1 문자열 표시
5.1.1 UILabel에 의한 문자열 표시
5.1.2 NSString을 사용한 문자열 출력
5.1.3 출력할 범위를 지정해서 문자열 자동 줄바꿈
5.1.4 줄바꿈과 생략
5.1.5 가로 위치의 조정
5.1.6 문자열의 축소와 출력할 세로 위치 조정
5.1.7 문자열의 자동 축소
5.1.8 문자열 출력에 필요한 범위 구하기

Unit 5.2 폰트의 지정(UIFont)
5.2.1 시스템 폰트 이용
5.2.2 시스템 폰트 꾸미기
5.2.3 폰트 살펴보기

Unit 5.3 색 지정(UIColor)
5.3.1 제공되는 색상 이용
5.3.2 시스템 색상의 이용
5.3.3 색상 조합
5.3.4 CGColor의 이용
5.3.5 패턴 이미지의 이용
5.3.6 표현색의 변경

Unit 5.4 이미지 표시
5.4.1 UIImageView를 이용한 이미지 표시
5.4.2 UIImage에 의한 이미지 직접 표현
5.4.3 블렌드 모드의 지정
5.4.4 확대/축소 시의 신축 범위 한정(캡)
5.4.5 UIImageView에 의한 애니메이션

Unit 5.5 UIView 애니메이션
5.5.1 애니메이션 블록
5.5.2 반복과 지연
5.5.3 투명화와 애니메이션 커브
5.5.4 확대/축소/회전
5.5.5 애니메이션의 역동작
5.5.6 상태 감시
5.5.7 트랜지션 애니메이션

Chapter 06 터치 조작과 모션

Unit 6.1 컨트롤 조작
6.1.1 버튼 탭
6.1.2 액션용 메소드 정의
6.1.3 슬라이더 드래그

Unit 6.2 리스폰더(UIResponder)
6.2.1 화면 터치의 검사
6.2.2 라벨 터치의 검사
6.2.3 리스폰더 체인
6.2.4 터치 순서의 마지막 처리와 취소

Unit 6.3 멀티 탭
6.3.1 더블 탭의 검사
6.3.2 트리플 탭의 검사

Unit 6.4 제스쳐
6.4.1 드래그 검사
6.4.2 슬라이드 검사
6.4.3 플릭 검사

Unit 6.5 멀티 터치
6.5.1 멀티 터치 검사
6.5.2 더블 슬라이드 검사
6.5.3 핀치 인/핀치 아웃 검사

Unit 6.6 흔들기(motion)
6.6.1 흔들기 동작 검사

Unit 6.7 가속도 센서
6.7.1 가속도 센서의 개요
6.7.2 가속도 센서로 볼 굴리기

Chapter 07 사용자 통지와 의사 확인

Unit 7.1 알림 표시(UIAlertView)
7.1.1 알림 표시 역할
7.1.2 버튼이 하나인 알림 표시
7.1.3 버튼이 2개인 알림 표시
7.1.4 알림 표시 삭제
7.1.5 UIAlertView의 상태 감시

Unit 7.2 액션시트(UIActionSheet)
7.2.1 액션시트의 역할
7.2.2 간단한 액션시트
7.2.3 툴 바/탭 바가 있을 때의 액션시트
7.2.4 액션시트 스타일
7.2.5 주의할 액션을 포함한 액션시트
7.2.6 액션시트 표시하지 않기
7.2.7 UIActionSheet 상태 감시

Unit 7.3 상태 바
7.3.1 상태 바 형태
7.3.2 상태 바를 표시하지 않기
7.3.3 네트워크 액세스 중의 인디케이터 표시

Chapter 08 텍스트와 Web 표시

Unit 8.1 텍스트 표시(UITextView)
8.1.1 스크롤할 수 있는 텍스트 표시
8.1.2 편집할 수 있는 UITextView
8.1.3 편집/비편집 시의 화면 변환
8.1.4 텍스트 유무 확인
8.1.5 텍스트 정렬
8.1.6 텍스트 선택 범위
8.1.7 스크롤 위치 조정
8.1.8 URL과 전화번호 자동 링크
8.1.9 UITextView 상태 감시

Unit 8.2 키보드(UITextInputTraits)
8.2.1 키보드 종류
8.2.2 알림 표시용 키보드
8.2.3 return키 변경
8.2.4 return키 자동 무효 기능
8.2.5 Shift키 자동 유효 기능
8.2.6 자동 고침 기능
8.2.7 패스워드 입력

Unit 8.3 Web 컨텐츠 표시(UIWebView)
8.3.1 웹 페이지 표시
8.3.2 UIWebView 상태 감시
8.3.3 웹 페이지 조작
8.3.4 미디어 데이터 표시
8.3.5 HTML 문자열 지정
8.3.6 링크 탭 핸들링
8.3.7 JavaScript 실행

Chapter 09 테이블 표시

Unit 9.1 테이블 표시
9.1.1 가장 간단한 테이블 표시
9.1.2 셀 선택 시 옵션
9.1.3 섹션이 있는 테이블
9.1.4 그룹으로 나눈 테이블
9.1.5 섹션 푸터 표시
9.1.6 인덱스 활용

Unit 9.2 테이블 정보 구하기
9.2.1 섹션 수와 줄 수 참조
9.2.2 특정 셀 구하기

Unit 9.3 테이블 편집
9.3.1 셀 삭제
9.3.2 셀 삭제/추가 시 애니메이션
9.3.3 스와이프에 의한 삭제
9.3.4 [Delete] 버튼의 표시명 변경
9.3.5 셀 삽입
9.3.6 셀 이동
9.3.7 [Edit]/ [Done] 버튼의 추가
9.3.8 그룹으로 나눈 테이블 편집
9.3.9 여러 개의 셀 동시 편집

Unit 9.4 셀의 커스터마이즈
9.4.1 셀의 크기나 색의 변경
9.4.2 셀 단락선의 변경
9.4.3 셀에 이미지 추가
9.4.4 셀에 상세 라벨 추가
9.4.5 셀에 액세서리 추가
9.4.6 기존 액세서리 추가
9.4.7 편집 상태일 때만 액세서리 추가
9.4.8 셀에 컨트롤 추가
9.4.9 셀 배경 변경

Unit 9.5 셀 선택과 스크롤
9.5.1 셀을 선택했을 때의 색
9.5.2 셀 선택의 허가
9.5.3 선택되어 있는 셀까지 스크롤
9.5.4 지정한 셀까지 스크롤

Unit 9.6 UILocalizedIndexedCollation 사용
9.6.1 UILocalizedIndexedCollation의 사용


Chapter 10 UI 부품 이용

Unit 10.1 라벨(UILabel)
10.1.1 텍스트와 정렬
10.1.2 라벨의 색과 텍스트 색의 변경
10.1.3 폰트 변경
10.1.4 폰트 크기의 자동 조정
10.1.5 여러 줄의 텍스트
10.1.6 줄바꿈과 줄임
10.1.7 하이라이트 시의 텍스트 색상
10.1.8 그림자 표시
10.1.9 표시 변경

Unit 10.2 버튼(UIButton)
10.2.1 버튼의 배치와 탭의 검사
10.2.2 버튼의 종류
10.2.3 버튼 상태에 따른 타이틀 변화
10.2.4 버튼 탭 시 그림자의 반전
10.2.5 버튼 탭 시 배경 플래시
10.2.6 버튼에 이미지 추가
10.2.7 버튼 배경에 이미지 설정
10.2.8 버튼 마진 조정
10.2.9 타이틀의 줄바꿈/줄임 방법 설정

Unit 10.3 텍스트 필드(UITextField)
10.3.1 텍스트 필드의 표시
10.3.2 키보드 표시/비표시
10.3.3 키보드의 각종 설정
10.3.4 텍스트 필드의 경계선
10.3.5 텍스트의 가로 위치와 세로 위치 조정
10.3.6 텍스트 필드 폰트와 색
10.3.7 플레이스 홀더의 설정
10.3.8 클리어 버튼 표시
10.3.9 배경 이미지 설정
10.3.10 UIView 추가
10.3.11 텍스트 필드의 상태 감시

Unit 10.4 스위치(UISwitch)
10.4.1 스위치 이용

Unit 10.5 세그먼티드 컨트롤러(UISegmentedController)
10.5.1 세그먼티드 컨트롤러의 사용
10.5.2 세그먼티드 컨트롤의 종류
10.5.3 선택 상태가 남지 않는 세그먼티드 컨트롤
10.5.4 세그먼티드 컨트롤 색의 변경
10.5.5 아이콘을 사용한 세그먼티드 컨트롤
10.5.6 세그먼트 내용의 표시 위치 변경
10.5.7 세그먼트 선택 불가 설정
10.5.8 세그먼트 삽입과 삭제

Unit 10.6 슬라이더(UISlider)
10.6.1 슬라이더의 사용
10.6.2 슬라이더 값의 통지 시점
10.6.3 슬라이더에 아이콘 추가
10.6.4 슬라이더 커스터마이즈

Unit 10.7 날짜?시간 피커(UIDatePicker)
10.7.1 날짜&시간 피커의 사용
10.7.2 애니메이션으로 날짜 변경
10.7.3 값의 간격과 최소값/ 최대값 설정
10.7.4 날짜.시간 피커 종류의 변경
10.7.5 카운트다운 타이머

Unit 10.8 피커(UIPickerView)
10.8.1 피커의 사용
10.8.2 선택줄 명시
10.8.3 선택 정보 얻기
10.8.4 피커에 UIView 등록
10.8.5 열과 행 크기 변경
10.8.6 행 선택 검사

Unit 10.9 액티비티 인디케이터(UIActivityIndicatorView)
10.9.1 액티비티 인디케이터의 종류
10.9.2 애니메이션 시작과 중지

Unit 10.10 프로그레스 바(UIProgressView)
10.10.1 프로그레스 바의 이용
10.10.2 툴 바에서 프로그레스 표시

Unit 10.11 검색 바(UISearchBar)
10.11.1 검색 바의 이용
10.11.2 실시간으로 검색 결과 표시
10.11.3 키보드와 문자 입력 관련 설정
10.11.4 검색 바의 배경색 변경
10.11.5 프롬프트 표시
10.11.6 북마크 버튼의 사용
10.11.7 UISearchDisplayController 사용
10.11.8 스코프 바의 사용

Unit 10.12 페이지 컨트롤
10.12.1 페이지 컨트롤의 사용

Unit 10.13 스크롤 뷰(UIScrollView)
10.13.1 스크롤 뷰의 사용
10.13.2 핀치 인(축소)/핀치 아웃(확대)의 대응
10.13.3 스크롤 바의 색상
10.13.4 페이지 단위 스크롤

Chapter 11 애플리케이션과 디바이스 정보

Unit 11.1 애플리케이션 기능
11.1.1 애플리케이션 배지의 설정
11.1.2 외부 애플리케이션과의 연계
11.1.3 외부 애플리케이션에서 시작
11.1.4 자동 슬립 금지
11.1.5 흔들기 동작에 의한 Undo 무효화

Unit 11.2 디바이스 정보에 액세스
11.2.1 근접 센서의 사용
11.2.2 배터리 상태 참조
11.2.3 시스템 정보 참조
11.2.4 단말 식별자 구하기

Unit 11.3 복사 & 붙여넣기 사용
11.3.1 붙여넣기 보드의 이용
11.3.2 편집 메뉴의 표시
11.3.3 화면상의 이미지 복사/잘라내기/붙여넣기
11.3.4 여러 개의 데이터를 붙여넣기 보드에 저장
11.3.5 독립 클래스를 붙여넣기 보드에 저장

Unit 11.4 화면 크기 구하기(UIScreen)
11.4.1 두 종류의 화면 크기 구하기

Chapter 12 카메라 촬영과 영상 편집

Unit 12.1 카메라와 사진 앨범(UIImagePickerController)
12.1.1 사진 앨범의 사용
12.1.2 선택한 사진 편집
12.1.3 카메라 사용
12.1.4 비디오 촬영
12.1.5 비디오 촬영 길이와 품질 설정
12.1.6 촬영 화면 변형
12.1.7 촬영 화면의 커스터마이즈(오버레이)

Unit 12.2 영상 편집(UIVideoEditorController)
12.2.1 영상 트리밍