iphone_최종.indb

Similar documents
캐빈의iOS프로그램팁01

Studuino소프트웨어 설치

iOS4_13

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을

Office 365 사용자 가이드

vRealize Automation용 VMware Remote Console - VMware

ISP and CodeVisionAVR C Compiler.hwp

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

MF5900 Series MF Driver Installation Guide

C O N T E N T S 목 차 요약 / 1 I. 중남미화장품시장현황 / 3 Ⅱ. 주요국별시장정보 / 9 ( 트렌드 유통망 인증 ) 1. 브라질 / 9 2. 멕시코 / 콜롬비아 / 칠레 / 64 Ⅲ. 우리기업진출전략 / 79 # 첨부. 화장품관

SBR-100S User Manual

Microsoft Word - Armjtag_문서1.doc

IRISCard Anywhere 5

본책- 부속물

2ndWeek_Introduction to iPhone OS.key

사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

Install stm32cubemx and st-link utility

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

PowerPoint Template

iOS5_1±³

SIGIL 완벽입문

슬라이드 1

슬라이드 1

Oracle VM VirtualBox 설치 VirtualBox에서 가상머신 설치 가상머신에 Ubuntu 설치

C++ Programming

Microsoft Word - src.doc

슬라이드 1

B2B 매뉴얼

(Xcode4.2 의 Choose a template for your new project 화면 ) 2) 라이브러리패널이조금바뀌었습니다. Stepper, Gesture Recognizer 가추가되었습니다. 외형이조금바뀌었지만, 책의내용은그대로사용할수있으므로문제없습니다.

iOS ÇÁ·Î±×·¡¹Ö 1205.PDF

Windows 8에서 BioStar 1 설치하기

Operating Instructions

신입생을 위한 iPad 설정 및 등록 방법

3. 저장위치를 바탕화면으로 설정하고, 저장을 하고, 실행을 합니다. 4. 바탕화면에 아이콘이 생성되고 아이콘을 더블 클릭합니다. 5. 실행을 클릭하여 프로그램을 설치합니다. 다음버튼을 클릭하고, 사용권 계약에서는 예를 클릭합 니다. 6. 암호 입력창이 뜨면 기본 암호


ePapyrus PDF Document

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

1

NTD36HD Manual

Endpoint Protector - Active Directory Deployment Guide

PowerPoint Presentation

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

Microsoft Word - 문필주.doc

ThinkVantage Fingerprint Software

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

MF Driver Installation Guide

Microsoft Outlook G Suite 가이드

Visual Basic 반복문

C++ Programming

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

View Licenses and Services (customer)

C O N T E N T 목 차 요약 / 4 Ⅰ. 서론 Ⅱ. 주요국별대형유통망현황 / Ⅲ. 시사점및진출방안 ( 첨부 ) 국가별주요수입업체

MF3010 MF Driver Installation Guide

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

2 카메라의 펌웨어버전을확인합니다 카메라기종에따라표시되는화면이다를수있습니다. 1 카메라의전원을 ON으로합니다. 2 카메라의메뉴버튼 MENU을누르고메뉴화면을표시합니다. 3 [ 설정메뉴 ] 에서 [ 펌웨어버전 ] 를선택합니다. 4 카메라의 펌웨어버전이표시됩니다. 버전이업그

9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요

System Recovery 사용자 매뉴얼

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1


02 앱을실행하는 3 가지방법 Mobile Apps >> 앱인벤터로작성한앱은다음과같은 3가지의방법으로실행이가능하다. 만약사용자가스마트폰이있고와이파이를사용하고있다면작성한앱을바로실행하여볼수있다. 가장바람직한방법이다. 스마트폰에구글 Play 스토어를통하여 App Invent

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

05-06( )_¾ÆÀÌÆù_ÃÖÁ¾

01장

인쇄하기, 내보내기, 이메일로 문서 보내기

1. 무선 이미지 유틸리티 설명 1-1. 기능 이 Wireless Image Utility 는 안드로이드용 응용 프로그램입니다. 안드로이드 태블릿 또는 안드로이드 스마트폰에서 사용할 수 있습니다. 안드로이드 기기에 저장된 파일을 프로젝터로 무선 전송 컴퓨터에서 USB


var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

쓰리 핸드(삼침) 요일 및 2405 요일 시간, 및 요일 설정 1. 용두를 2의 위치로 당기고 반시계방향으로 돌려 전날로 를 설정합니다. 2. 용두를 시계방향으로 돌려 전날로 요일을 설정합니다. 3. 용두를 3의 위치로 당기고 오늘 와 요일이 표시될 때까지 시계방향으로

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Getting Started With Parallels Desktop¢ç 9

슬라이드 1

볼륨 조절 아이콘 표시하기 만일 알림 영역에 볼륨 조절 아이콘이 표시되지 않았다면 아래의 방법을 따라합니다. 1> [시작] - [제어판] - [사운드 및 오디오 장치] 아이콘을 더블 클릭합니다. 2) [사운드 및 오디오 장치 등록 정보] 대화상자에서 [볼륨] 탭을 클릭

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

슬라이드 1

처음에 읽어 주십시오! 본 사용설명서의 내용은 예고 없이 변경할 수 있습니다. 본 사용설명서의 내용은 제조 공정의 각 과정에서 확인했습니다. 문제점이나 잘못된 점 이 있으면 개의치 마시고 당사로 연락해 주십시오. 본 사용설명서의 내용을 복제하는 것은 일부 또는 전부에

H3250_Wi-Fi_E.book

161117_EX Phone stick_manual

Microsoft PowerPoint _사용자매뉴얼.ppt

Windows Server 2012

슬라이드 1

슬라이드 1

Office 365, FastTrack 4 FastTrack. Tony Striefel FastTrack FastTrack

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

윈도 모바일 6.1을 OS로 사용하는 스마트폰(옴니아2 등)에서의 Tcl/Tk의 사용

Freecom Mobile Drive XXS 사용자에게! Freecom Mobile Drive XXS 외장형 하드 드라이브를 선택해 주셔서 감사합니다. 최 적의 사용과 성능을 위해 본 제품을 사용하기 전에 본 설명서를 주의 깊게 읽을 것 을 권합니다. Freecom T

1

마이크로시스템제작 lecture1. 강의소개및 MultiSIM 선덕한 마이크로시스템 1

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집

PowerPoint 프레젠테이션

윈도우시스템프로그래밍

정보

목 차 1. 드라이버 설치 설치환경 드라이버 설치 시 주의사항 USB 드라이버 파일 Windows XP에서 설치 Windows Vista / Windows 7에서 설치 Windows

Transcription:

Xcode4 로시작하는아이폰프로그래밍 지은이 _ Yoshinao Mori 옮긴이 _ 김태현 1판 1쇄발행일 _ 201 2년 1월 13일펴낸이 _ 장미경펴낸곳 _ 로드북편집 _ 임성춘디자인 _ 이호용 ( 표지 ), 박진희 ( 본문 ) 주소 _ 서울시관악구신림동 1451-15 101호출판등록 _ 제 2011-21호 (2011년 3월 22일 ) 전화 _ 02)874-7883 팩스 _ 02)6280-6901 정가 _ 25,000원 ISBN _ 978-89-966598-7-7 93560 Yoku Wakaru iphone Apuri Kaihatsu no Kyokasho by Yoshinao Mori Copyright c 2011 by Yoshinao Mori All rights reserved. Original Japanese edition published by Mynavi Corporation. This Korean edition is published by arrangement with Mynavi Corporation, Tokyo in care of Tuttle-Mori Agency, Inc., Tokyo through EntersKorea Co., Ltd., Seoul. 이책의한국어판저작권은 ( 주 ) 엔터스코리아를통한일본의 Mynavi Corporation과의독점계약으로로드북이소유합니다. 신저작권법에의하여한국내에서보호를받는저작물이므로무단전재와무단복제를금합니다. 책내용에대한의견이나문의는출판사이메일이나블로그로연락해주십시오. 잘못만들어진책은서점에서교환해드립니다. 이메일 chief@roadbook.co.kr 블로그 www.roadbook.co.kr Q&A roadbook.zerois.net/qna

지은이글 이책은 아이폰앱을만들어보고싶다 고생각하는분들을위한입문서입니다. 아이폰앱개발은소스코드작성법이나화면 ( 사용자인터페이스 ) 을만드는방법이조금은특이합니다. 그래서 아주간단한앱을만들어보고싶을뿐 이지만시작하는방법을몰라서시작도못해보고좌절해버리는경우가많습니다. 필자도처음엔고민을많이했습니다. 아이폰에서앱을사용할때는별어려움없이간단하고쉽게했으니, 앱을개발할때도쉽고간단한방법은없을까생각하곤했는데, 알고보니그러한방법이있었습니다. 아이폰앱을개발하는데필요한소프트웨어인 Xcode에는 인터페이스빌더 라는알기쉬운도구가준비되어있습니다. 이도구를사용하면아이폰앱을 보이는그대로디자인해서 만들수있습니다. Xcode 3까지는인터페이스빌더가별도의독립된소프트웨어였지만, Xcode 4로넘어오면서 Xcode 본체와통합되었습니다. 앱화면을디자인할때자연스럽게표시되므로더사용하기쉽습니다. 이책에서는이 Xcode 4용인터페이스빌더의사용법을중심으로, 아이폰앱개발방법을설명합니다. 아이폰앱개발에익숙한분들중에는인터페이스빌더를사용하지않는분도있습니다. 프로그래밍에정통해있어서도구를사용해만드는것보다세밀하고빠르게설정할수있기때문이라고생각해봅니다. 그러나프로그래밍에정통하지않아도인터페이스빌더를사용하면직관적인디자인이가능하며, 앱의형태와내부구조를분리해서생각할수도있게됩니다. 여기에무엇보다도앱개발이간단해집니다. 그러니일단은자신의손으로앱을만들수있다는것을체험해주시기바랍니다. 이책은 아이폰앱개발을위한출발점 에지나지않습니다. 공부하고연구해나가면그앞에무한히펼쳐진앱의세계를자신의것으로만들수있을것입니다. 꼭자신의손으로만든기발하고매력적인앱을전세계를향해릴리즈해주시기바랍니다. 2011년 7월모리요시나오

옮긴이의글 아이폰앱개발관련서적은서가에범람하고있지만, 실제로도움이되는책은그리많지않습니다. 이책은그중몇안되는정말도움이되는책중하나라고자신합니다. 역자또한아이폰앱개발능력을손에넣고싶어여러책을섭렵했지만제대로설명하는책이별로없었습니다. 이책을접하고나서야비로소앱을만드는방법을이해할수있었습니다 ( 그만큼알기쉽게설명하고있다는의미입니다 ). 그래서이책은지금까지앱개발을시작했지만도중에좌절했던분들에게더욱추천합니다. 물론이책만으로아이폰앱개발능력을숙달하기는어렵습니다. 초심자들을대상으로하고있기때문입니다. 또한상당히많은항목을설명하느라설명이깊지않습니다. 그러니이책을통해아이폰앱개발방법을개략적으로이해한후에는아이폰앱의개발언어인오브젝티브 C 에대한공부도게을리하지말기를당부합니다. 저자도말하고있듯이오브젝티브 C에대한숙달정도가참신하고유용한앱을개발할수있는기본이됩니다. 이책은총 12장으로구성되어있습니다. 1~4장은아이폰앱개발환경꾸미기와오브젝티브 C에대한간략한설명, 앱개발맛보기로구성되어있습니다. 5~10장은아이폰앱에서사용하는여러기능을어떻게구현하는지하나하나예를들어가며설명하고있습니다. 11~12장에서는개발한앱을세상에내놓기위해잘마무리하는방법과실제아이폰에서테스트하는방법을설명하고있습니다. 이책은두번번역이라는우여곡절끝에빛을보게되었습니다 ( 번역도중 Xcode 버전이바뀌는바람에처음부터다시번역해야했습니다 ). 무한한인내심을발휘해주신임성춘편집장님과조악한문장이글이되게해주신편집자님, 맛깔스런책으로만들어주신박진희님께감사의말씀을전하며, 사랑하는아내윤주와아빠의배경이되어준멋진딸이현이에게도고맙다는말을전합니다. 앱스토어에등록된아이폰앱도수십만개지만비슷비슷한앱이거의대부분입니다. 문제는아이디어입니다. 앱들의바다에서마치등대처럼유용하게반짝이는앱개발자가되기를기원합니다. 2011년겨울을맞이하는동경한편에서김태현

목차 1 장애플리케이션개발환경만들기 1-1 아이폰앱개발준비물 16 Lecture _ 개발에필요한환경 16 1-2 ios SDK 다운로드와인스톨 20 2 장 ios SDK 기본 2-1 ios SDK의정체 30 2-2 Xcode 31 2-3 인터페이스빌더 34 2-4 ios 시뮬레이터 37 3 장오브젝티브 C 기본 3-1 오브젝티브 C 기본 40 Lecture _ 오브젝티브 C란무엇인가? 40 Lecture _ 오브젝티브 C의역사 41 Lecture _ 객체지향이란? 41 Lecture _ 기본문법 43 Lecture _ 변수 44 3-2 포인터변수 46 Lecture _ 포인터변수란? 46 Lecture _ 문자열데이터처리 49 Lecture _ 많은데이터를일괄처리하기 - 배열 53 Lecture _ 다량의데이터를키워드로처리하기 55 3-3 제어문 58 Lecture _ if 문 58 if else 문 59 조건식 59

Lecture _ switch 문 60 Lecture _ while 문 62 Lecture _ for 문 62 Lecture _ 주석 63 3-4 클래스 64 Lecture _ 오브젝트란? 클래스란? 64 Lecture _ 오브젝트사용방법 65 오브젝트만들기 65 젝트해제하기 66 속성에액세스하기 66 메소드실행하기 66 4 장애플리케이션개발기본 4-1 프로젝트작성 70 프로젝트만들기 70 템플릿선택 71 4-2 프로젝트구조와작성순서 74 Lecture _ 자주사용하는파일 75 Lecture _ 화면디자인과프로그램 76 Lecture _ 배치한컨트롤과프로그램을연결하는방법 77 IBOutlet 연결 78 IBAction 연결 78 여러가지 IBOutlet과 IBAction 연결방법 79 Lecture _ 애플리케이션전체에관한프로그램 82 Lecture _ 델리게이트 (Delegate) 83 Lecture _ 용어검색 84 4-3 첫번째앱제작 85 Lecture _ 앱을만드는순서 85 Practice _ 안녕하세요 라고표시합니다 86

5 장기본컨트롤을사용하여만들기 5-1 UILabel : 문자열표시 92 Lecture _ UILabel로할수있는일 92 Practice _ 레이블에문자열을표시합니다 96 5-2 UIButton : 버튼을눌러서무언가를합니다. 101 Lecture _ UIButton 으로할수있는일 101 Practice _ 버튼을탭하면문자열을표시합니다 104 5-3 UITextField : 텍스트입력 109 Lecture _ UITextField 로할수있는일 109 Practice _ 문자열을입력하면, 해당문자열을표시합니다 116 5-4 UITextView : 긴문자열표시 121 Lecture _ UITextView 로할수있는일 121 Practice _ 긴문자열을표시합니다 125 5-5 UISwitch : On/Off 스위치 130 Lecture _ UISwitch 로할수있는일 130 Practice _ 스위치를전환하면, 문자열을표시합니다 132 5-6 UISlider : 슬라이더를이용한값설정 137 Lecture _ UISlider 로할수있는일 137 Practice _ 슬라이더를움직이면그값을표시합니다 140 5-7 UIDatePicker : 날짜설정 145 Lecture _ UIDatePicker 로할수있는일 145 Practice _ 날짜를선택하면해당날짜를표시합니다 149 5-8 UIAlertView : 경고창표시 155 Lecture _ UIAlertView 로할수있는일 155 Practice _ 버튼으로경고창을표시합니다 159 5-9 UIActionSheet : 액션시트표시 164 Lecture _ UlActionSheet 로할수있는일 164 Practice _ 버튼으로액션시트를표시합니다 168

6 장그림과애니메이션처리 6-1 UIImageView : 그림표시 176 Lecture _ UIImageView 로할수있는일 176 인터페이스빌더로레이아웃할때설정할수있는것 176 그림등록방법 178 속성에서설정하거나확인할수있는것 179 Practice _ 리소스그림을표시합니다 ( 소스코드미사용 ) 181 Practice _ 리소스그림을표시합니다 ( 소스코드사용 ) 183 6-2 책갈피애니메이션 : UIImageView의기능을이용한애니메이션 188 Lecture _ 책갈피애니메이션을만드는방법 188 Practice _ 버튼을탭하면애니메이션을재생합니다 192 6-3 간이애니메이션 : UIView의기능을이용한애니메이션 198 Lecture _ 간이애니메이션을만드는방법 198 Practice _ 버튼을탭하면애니메이션을재생합니다 203 6-4 타이머애니메이션 : NSTimer를이용한애니메이션 208 Lecture _ NSTimer로애니메이션을만드는방법 208 Practice _ 레이블이계속움직이는애니메이션 211 7 장아이폰에걸맞은기능구현 7-1 아이폰의회전에대응하기 : 아이폰을옆으로눕혔을경우의처리 218 Lecture _ 아이폰의회전에대응하는방법 218 화면의회전에대응한레이아웃만들기 218 아이폰의회전에맞춰화면을자동으로옆으로눕히기 222 Practice _ 아이폰의회전에맞춰화면회전시키기 223 7-2 UIAccelerometer : 아이폰의기울기조사하기 227 Lecture _ 가속도센서사용법 227 Practice _ 아이폰의기울기를수치로표시합니다 232 Practice _ 기울이면볼이굴러가는장남감 237

7-3 CoreLocation.framework : 현재위치와방향조사 243 Lecture _ CoreLocation 을사용한현재위치와방향조사방법 243 Practice _ 현재위치의위도와경도, 방향을알아냅니다 249 7-4 MapKit.framework : 지도표시 255 Lecture _ MKMapView 를이용한지도사용법 255 Practice _ 현재위치의지도를표시합니다 262 8 장데이터읽기와쓰기 8-1 UIWebView : 웹페이지표시 270 Lecture _ 웹뷰를이용한웹페이지표시방법 270 Practice _ 앱안에서웹페이지를표시합니다 273 8-2 UIImage : 웹그림표시 278 Lecture _ 이미지뷰를이용해웹에있는그림을표시하는방법 278 Practice _ 웹에있는그림을표시합니다 281 8-3 NSXMLParser : 웹에있는 XML 읽어들이기 285 Lecture _ XML 해석방법 286 Practice _ XML을읽어들이고표시합니다 293 8-4 NSUserDefault : 일시적으로데이터저장 299 Lecture _ 유저디폴트를사용한데이터읽기 / 쓰기방법 299 Practice _ 문자열을입력하고, 다음번실행시에표시합니다 303 9 장멀티뷰앱만들기 9-1 Utility Application : 앞뒤가전환되는앱 310 Lecture _ 유틸리티애플리케이션작성방법 310 Practice _ 뒤쪽화면에서스위치를 ON/OFF하면앞쪽화면이변하는앱 317

9-2 Tab Bar Application : 여러화면이전환되는앱 325 Lecture _ 탭바애플리케이션작성방법 325 Practice _ 두개의탭으로화면을전환할때마다카운트를증가시킵니다 336 Practice _ 세개의탭으로화면을전환할때마다카운트를증가시킵니다 343 10 장테이블표시 10-1 UITableView : 복수의데이터를리스트로표시하기 350 Lecture _ 테이블뷰의구조 350 Lecture _ 테이블뷰사용방법 351 Practice _ 테이블에같은문자열을 20개표시합니다 360 Practice _ 테이블에설정한문자열을 2x3행으로표시합니다 364 10-2 내비게이션기반 : 화면을슬라이드하면서계층별로화면표시하기 369 Lecture _ 리스트를선택 ( 탭 ) 하면화면이슬라이드되는앱작성방법 369 Practice _ 행을선택하면화면이슬라이드되고하위계층화면이표시됩니다 377 10-3 셀사용자지정 : 셀의표시사용자지정하기 386 Lecture _ 셀을조금만변경하는방법 386 테이블뷰전체의배경색설정 386 셀의높이설정 387 문자열내용설정 387 문자열의색설정 387 폰트나크기설정 388 셀의액세서리설정 388 셀스타일설정 389 Lecture _ 셀을자유롭게배치하는방법 389 Practice _ 테이블뷰의셀을직접작성합니다 395

11 장앱완성하기 11-1 아이콘 404 Lecture _ 아이콘설정방법 404 Practice_ 앱에아이콘을설정합니다 406 11-2 초기화면 409 Lecture _ 초기화면작성방법 409 Practice _ 앱에초기화면을설정합니다 411 11-3 지역화 414 Lecture _ 지역화방법 414 앱이름전환방법 414 사용하는문자열을전환하는방법 417 사용하는그림을전환하는방법 419 Practice _ 앱을지역화합니다 421 12 장실제기기테스트 12-1 실제기기에서테스트하기 426 Lecture _ ios Developer Program에유료회원등록하기 426 Lecture _ Organizer 에서 Provisioning Profile 만들기 427 Organizer 427 Lecture _ 앱을실제아이폰에설치해서실행하기 430

Practice 난이도 : 제작 시간 : 5분 1장 버튼으로 경고창을 표시합니다 8장 먼저, 인터페이스 빌더에서 레이블과 버튼을 만듭니다. 다음으로, 이 레이블과 버튼을 프로그램에서 처리할 수 있게 준비합니다. 레이블명(변수) 과 버튼을 탭했을 때 실행할 기능명(메소드명) 을 헤더 파일(.h)에 만들고, 인터페이스 빌더에서 만든 레이블과 버튼을 연결 합 니다. 마지막으로, 프로그램 부분을 구현 파일(.m)에 작성합니다. 버튼을 탭했을 때 실행할 기능(메소드)을 만들고, 이 메소드에서 경고창을 만들어 표시하고 해제합니다. 또, clickedbuttonatindex 메소드를 준비해서 어느 버 튼을 탭했는지 레이블에 표시합니다. 3장 개요 8장 인터페이스 빌더에서 버튼을 배치하고, 소스 에디터에서 버튼을 탭하면 경고창을 표시하고 OK와 Cancel 중 어 느 버튼을 탭했는지 레이블에 표시하는 프로그램 을 만듭니다. 5장 소스 에디터 6장 8장 사용자가 조작 8장 8장 버튼이 탭되어 tapbtn이 호출되면, 경고창을 만들어 표시합니다(확인합니다. OK입니까? Cancel, OK). 버 튼을 탭하면 해당 버튼의 번호를 확인해서 OK인지 Cancel인지를 mylabel에 표시합니다. 8장 무슨 의미인가요? 8장 버튼이 탭되면 경고창을 표시하고, 경고창에서 다시 버튼이 탭되 면 레이블에 문자열 설정 8장 기본 컨트롤을 사용하여 만들기 157

1 새프로젝트를만듭니다. Xcode를실행하고 Create a new Xcode project 를선택한후, View-based Application 을선택합니다. [Next] 버튼을클릭한후 Project Name 과 Company Identifier 를설정하고다시 [Next] 를클릭하여저장합니다. 여기서는프로젝트명을 alertviewtest 로, 회사식별자를 com.myname 으로지정했습니다. 2 여러파일이생성되어있는데, 그중에서 alertviewtestviewcontroller.xib 를클릭하여인터페이스빌더를표시하고메뉴에서 [View] - [Utilities] - [Object Library] 를선택합니다. 3 인터페이스빌더에서레이블과버튼을만듭니다. 인터페이스빌더의 [Object Library] 에서 Label 과 Round Rect Button 을 View 로드래그합니다. 레이블은문자열을표시할수있을정도로크기를설정해둡니다. 158 5장

4 5 소스에디터로레이블명과버튼을탭했을때실행할메소드명을만듭니다. Xcode로돌아가서.h 파일 (alertviewtestviewcontroller.h) 을선택합니다..h 파일에는이미여러가지소스코드가입력되어있습니다. @interface { ~ } 사이의행과 } 다음행에각각다음과같은코드를추가합니다. 추가한후에는파일을저장합니다. 01 IBOutlet UILabel *mylabel; 01 -(IBAction) tapbtn; alertviewtestviewcontroller.h 레이블명과인터페이스빌더에서만든레이블을연결 합니다. alertviewtestviewcontroller.xib 를클릭해서인터페이스빌더를표시하고, Dock의 File s Owner 를오른쪽버튼으로클릭합니다. mylabel 오른쪽에있는 를드래그해서선을잡아늘려레이블에연결합니다. 이렇게하면 레이블명과인터페이스빌더에서만든레이블이연결 됩니다. 레이블명오른쪽에있는 를드래그해서레이블에연결 1 장 8 장 3 장 8 장 5 장 6 장 8 장 8 장 8 장 8 장 8 장 8 장 기본컨트롤을사용하여만들기 159

6 메소드명과인터페이스빌더에서만든버튼을연결 합니다. Dock의 File s Owner 를오른쪽버튼으로클릭합니다. Received Action 항목에서 tapbtn 오른쪽에있는 를드래그해서선을잡아늘려버튼에연결합니다. 이때표시되는액션리스트에서 Touch Up Inside( 탭 ) 를선택합니다. 이렇게하면 Xcode에서만든메소드명과인터페이스빌더에서만든버튼이연결 됩니다. 메소드명오른쪽에있는 를드래그해서버튼에연결 Touch Up Inside 선택 7 소스에디터로버튼을탭하면경고창을표시하는프로그램을만듭니다..m 파일 (alertviewdatepickertestviewcontroller.m) 을선택합니다. @implementation 다음행에다음과같은코드를추가합니다. 또, 어느버튼을탭했는지확인할수있게 clickedbuttonatindex 메소드를만들고그안에서레이블에문자열을표시합니다. 01 - (IBAction) tapbtn { 02 UIAlertView *alert = [[UIAlertView alloc] 02 initwithtitle:@"alert Test" 03 message:@"ok Cancel Test?" 04 delegate:self 05 cancelbuttontitle:@"cancel" 06 otherbuttontitles:@"ok", nil]; 08 [alert show]; 09 [alert release]; 10 } 11 -(void)alertview : (UIAlertView *)alertview clickedbuttonatindex: (NSInteger)buttonIndex { 12 if (buttonindex == 1) { 13 mylabel.text = @"OK"; 14 } else { 15 mylabel.text = @"Cancel"; 16 } 17 } 160 5장

8 alertviewtestviewcontroller.m 시뮬레이터에서실행합니다. [Scheme] 의풀다운메뉴에서 Simulator 를선택하고, [Run] 버튼을눌러서실행합니다. ios 시뮬레이터가시작되고프로그램 ( 앱 ) 이실행됩니다. 버튼을탭하면경고창이표시되고, [OK] 버튼을선택하면 OK, [Cancel] 버튼을선택하면 Cancel 이표시됩니다. 1 장 8 장 3 장 8 장 5 장 6 장 8 장 8 장 8 장 8 장 8 장 8 장 기본컨트롤을사용하여만들기 161