아이폰어플개발정보2010. 6. 24. 08:00
꼭 선택해야 한다면 액션시트, 다시한번 확인을 해주는 경고창.
내가 가지고 있는 정보를 어디론가 보낸다던지, 가지고 있는 파일을 삭제한다는 것은 간단해 보일 수도 있는 작업이다. 하지만, 그 정보가 나의 모든 재산을 누군가가 가로챌 수 있는 정보라면? 내가 꼭 기억해야 할 사실을 삭제되어야 한다면? 매우 중요한 사항을 결정하게 될때, 그것을 다시한번 확인하게 해주는 것은 불의의 사태를 막는 하나의 방법으로 사용될 수 있다.



액션시트와 경고창.
액 션시트와 경고창은 그 근본이 크게 다르지 않다. 사용자로부터 지금 하고자 하는 사실이 확실한지를 확인해주는 역할을 하게 된다. 사용자의 입력을 받는 경우라면 버튼을 사용해도 되는데, 궂이 액션시트라는 것과, 경고창이 왜 필요할까? 그것은 선택을 받아야 하는 정보가 어플리케이션을 진행하는데 있어서 꼭 피요한 정보이기 때문이다. 만약 화장실을 가야 하는데 사용자가 남자인지, 여자인지 알려주지 않았다면 어디로 들어가야 할찌 모르고 고민을 하게 된다. 이럴땐, 액션시트를 열어서 '남자' 또는 '여자' 둘중에 선택할 수 있도록 만들어야 한다. 그리고 경고창은 매우 중요한 결정을 할 때 사용될 수 있다. 내가 내년까지 기억해야 할 정보를 깜빡하고 삭제하려고 한다면, 경고창을 보여주면서 그 기록에 대해 다시한번 확인시켜준다.


레이아웃 디자인하기.
새 로운 프로젝트를 'alermTest' 란 이름으로 생성한다. 종류를 View-based Application 으로 선택한다. Resources 폴더 안에 있는 'alerm-TestViewController.xib' 파일을 더블클릭하면 인터페이스 빌더를 실행할 수 있다. 레이아웃은 매우 간단하다. 화면의 가운데에 'action' 이라는 버튼을 한개 가져다 놓고, 이름을 'action' 으로 바꾸어주면 끝이다. 인터페이스 빌더를 실행한 후, 라이브러리에서 버튼을 드래그 해서 뷰 영역으로 옮겨놓은 일은 어렵지 않을 것이다.



그림1. 인터페이스 디자인


아웃렛과 액션을 설정하는 간편한 방법.
아웃렛과 액션을 생성하기 위해서는 Xcode 창에서 각각의 소스코드를 입력해서 작성해 주어야 인터페이스 빌더의 화면에 나오게 되었다. 이렇게 직접 소스코드를 입력하는 것이 쉬운 방법일 수도 있겠지만, 더욱더 간단하게 마우스 클릭만으로도 아웃렛과 액션을 생성하는 것이 가능하다.


그림2. 인터페이스 빌더에서 액선, 아웃렛 선언.

라이브러리 윈도우를 보면 맨 위에 Library, Classes, Media 의 세가지 탭이 있는데 이중에 Classes 항목을 선택한다. 항목을 선택하면 바로 아래에 라이브러리들이 나오게 되는데 우리가 사용하게 될것은 ViewController 이므로 alermTestViewController 항목을 선택하도록 한다. 가장 아래부분에는 선택된 항목의 정보가 간단하게 나오게 된다. 먼저 액션을 추가하기 위해 가장 오른쪽의 'Actions' 항목을 선택한다. 아래의 '+' 버튼을 클릭하여 새로운 액션을 추가, 이름을 변경해준다. 아웃렛을 추가하기 위해서는 'Outlets' 항목으로 이동해야 한다. 액션을 추가할때와 마찬가지로 '+' 버튼을 클릭하여 새로운 아웃렛을 추가하고 이름을 변경하여 준다. 이것으로 새로운 액션과 아웃렛의 생성이 간단하게 마무리 되었다.


액션, 아웃렛 이어주기.
액션과 아웃렛을 선언만 한다고 해서 사용이 가능한 것은 아니다. 이것을 사용할 수 있도록 서로 연결해 주는 작업이 필요하다.


그림3. 아웃렛 연결.

'View' 윈도우에서 버튼을 선택한후, 'Connections' 윈도우를 연다. 아래쪽을 보면 'Referencing Outlet' 항목의 'New Referencing Outlet' 을 선택하여 아웃렛을 추가하도록 한다. 오른쪽에 있는 원에 마우스 커서를 가져가면 십자가 모양으로 변하게 되고, 그것을 끌어다가 메인 위도우의 File's Owner 아이콘으로 가져다 놓는다. 그러면 위의 그림과 같이 아웃렛으로 선택하 수 있는 항목이 나타나게 되는데, 이미 만들어 놓았던 아웃렛인 'actionButton'을 선택하도록 한다.



그림4. 액션 연결하기.

액 션을 연결하는 방법도 아웃렛을 연결하는 것과 거의 동일하다. 단지 항목을 'New Referencing Outlet' 항목이 아닌, 'Events' 항목에서 선택을 한다는 것이 다르다. 버튼을 클릭하는 것이기 때문에 'Touch Up inside' 의 항목을 끌어다 File's Owner 아이콘에 가져다 놓는다. 그리고 선택할 수 있는 액션 항목이 나타나는데, 이전에 선언한 'actionsh' 액션을 선택하도록 한다.


인터페이스 빌더로 소스파일 생성.
아웃렛과 액션을 선언하고 연결하는 일을 마무리 지었다. 하지만, 이상태에서는 다시 Xcode 로 돌아가도 소스코드에는 변화가 없다. Xcode 의 내용이 인터페이스에 반영되기 위해서는 소스코드를 저장하기만 하면 바로 적용이 가능했지만, 반대로 인터페이스 빌더의 내용을 소스코드에 반영하기 위해서는 인터페이스 빌더가 소스코드를 작성하는 과정이 필요하다.



그림5. Write Class Files 작업.

alermTestViewController가 선택된 상태에서 맨 왼족 아래의 메뉴(톱니바퀴 모양) 버튼을 클릭하면 위와 같은 메뉴가 나오는것을 볼 수 있다. 윗부분의 'Write Updated Class Files' 버튼을 클릭하여 변경된 사항을 소스코드에 적용할 수 있다. 파일은 'alermTestViewContoller.m' 파일을 선택하고 'Replace' 버튼을 선택하여 새로운 내용으로 대체하도록 한다. 이제 소스코드를 보면 변경된 내용이 적용되어 있을 것을 볼 수 있다.


액션시트 델리게이트.
델리게이트는 다양한 객체와 클래스, 메소드들을 묶어서 다양한 행동을 확장해 주는 역할을 한다. 또, 액션시트와 경고창을 사용하기 위해서는 컨트롤러 클래스가 델리게이트를 사용해야 하는데, 'UIActionSheetDelegate' 라는 프로토콜을 따르도록 만들어 주어야 한다. 델리게이트를 선언해주기 위해서는 클래스명 다음에 '<UIActionSheetDelegate>' 를 추가해 주기만 하면 된다.

@interface alermTestViewController : UIViewController
<UIActionSheetDelegate> {
    IBOutlet id actionButton;
}



액션시트 추가하기.
액 션을 통해서 무언가 실행이 되게 하기 위해서는 액션메서드를 구현하는 과정이 필요하다. 또한 액션시트가 닫힐때 이루어지는  액션 메소드도 필요하다.

@implementation alermTestViewController
- (IBAction)actionsh:(id)sender {
    UIActionSheet *actionSheet = [[UIActionSheet alloc]
                                  initWithTitle: @"Are you sure?"
                                  delegate: self
                                  cancelButtonTitle: @"No way!"
                                  destructiveButtonTitle: @"Yes, I' sure!"
                                  otherButtonTitles: @"second", @"third", nil];
    [actionSheet showInView: self.view];
    [actionSheet release];
}

위 의 소스


출처 : http://blog.naver.com/PostView.nhn?blogId=seanhigher&logNo=60106821019
Posted by 오늘마감

댓글을 달아 주세요

아이폰기본사용2010. 6. 23. 21:10
아이폰 처음 구입시 꼭 알아야할 기초 사용법.

[아이폰/아이폰 사용법]

아이폰 처음 구입시 꼭 알아야할 기초 사용법.

사파리 기본 기능복사하기

사파리를 이용 뉴스를 보고 마음에 드는 글이나

사진을 복하사하 싶을때는 위 사진처럼 이용합니다

글복사:글복사하고자 하는 문장중에  아무단어나

 꾹 누르면 왼쪽 화면 처럼 나옵니다

그럼 믿에사진 화면처럼 글복사 범위조절바를

누르고 드래그를 하시면 자기가 복사하고자

하는 글의 범위를 설정하실수 있습니다.

▶ 이미지 저장

이미지 저장: 저장 하고자 하는 이미지를

 꾹눌러줍니다 그럼 위 사진처럼 저장 하고자 하는 팝업창이 뜹니다
그리고 이미지 저장을 누르시면 아이폰 사진란에 저장됩니다.

▶ 사파리 새로고침기능

새로고침:동그란 화살표 모양을 클릭하시면

 새로고침 기능입니다.

▶ 홈버튼 두번클릭설정

설정-일반-홈 을 선택하시면 위화면 처럼 나타납니다

락화면이 아닌 일반화면 에서 홈버튼 두번 클릭을 하면

어떠한 기능을 실행시킬지 선택하실수 있습니다

자주 사용하는 기능을 선택해놓으면 유용하게 사용하실수 있을겁니다.

▶ 아이폰에서 계정 로그인 로그아웃하기

설정-Store 를 선택하시면 위화면과 같이

자신의 계정을 로그인 로그아웃을 하실수 있습니다

위 기능의 장점은 한국계정과 미국계정 둘다

가지신분드에게 유용합니다

한국계정으로 로그인을 하면 한국 Store로

미국계정으로 로그인하면 미국Store로 접속이 됩니다

한국&미국 Store에 중복되지 않는 어플들을 받을때 좋습니다.

▶ 키보드 자동수정기능 끄기

설정-일반-키보드-자동수정 를 선택하시면

문자나 일반 글을쓸시 자동으로 수정되는

 기능을 끄실수 있습니다.



출처 : http://blog.naver.com/PostView.nhn?blogId=mytelelink&logNo=20101835527
Posted by 오늘마감

댓글을 달아 주세요

XCODE2010. 6. 17. 17:53
[펌] Xcode, 꼭 알아두면 좋은 것들

[출처: http://blog.xiles.net/188]

맥/아이폰 어플리케이션 개발을 하기 위해 필요한 것들과 지난번 아주 간단히 Objective-C에 대해서 살펴봤다.

자, 이제 슬슬 뭔가 실제로 연습을 하기 전에 가장 많이 사용하게 될 Xcode 에디터에 대해서 간단히 살펴보고 넘어가자.


자주 쓸만한 기능과 단축키 몇 개만 알아두면 훨씬 효율적으로 작업을 할 수 있다.



아래는 Xcode에 내장된 에디터의 모습이다. 일단 아래 이미지에서는 특이한 것은 없고, 그 아래 Navigation bar를 확대한 이미지를 보자.




아래 이미지는 위 에디터에서 상단에 있는 Navigation bar 이다.

일반적인 코딩 작업을 할 때 Function menu, Bookmarks를 자주 쓰게 될 것이다. 




아래는 위에서 Function menu를 선택하면 나오는 항목들이다. 

함수, 클래스 목록, #define, #pragma 라인들이 기본적으로 나열되고, 중요한 것은 그 다음에 있는 것으로 사용자가 주석으로 달면서 해당하는 문구를 포함시키면 그 라인들도 보여준다. TODO:, FIXME: 같은 것을 잘 활용하면 매우 도움이 될 것이다.

    Declarations and definitions for classes, functions, and methods

  • Type declarations

  • #define directives

  • #pragma marks

  • Comments containing:

      MARK:

    • TODO:

    • FIXME:

    • !!!:

    • ???:

이번에는 자동완성에 대해 알아보자.

자동완성을 위한 목록을 보여주는 단축키는 ESC 또는 control + , 를 이용하면된다.

목록을 보지 않고 바로 에디팅하는 상태에서 다음 자동완성 문구를 입력하고 싶으면 control + . 를 이용하면 된다.

이 단축키를 이용하면 목록을 안보고 누를때마다 다음 것, 그 다음 것을 바로 입력해준다.



자동완성 기능을 이용하면, 함수의 인자들 같은 것이 place holder라는 형태로 나오게되는데, 다음 place holder 위치로 커서를 바로 이동시키려면 control + / 를 이용하면 된다. 잘 사용하면 매우 유용할테니 기억해두면 좋은 단축키이다.

shift+control+/ 키를 이용하면 이전 place holder 로 이동한다.


아래는 보통 텍스트 매크로인데 이것도 단축키는 control+, 로 기본 자동완성고 동일하고, place holder가 나오는 것도 위와 동일하다. if 를 에디터에 치고 control+, 를 누르면 If Block  이라고 목록에 뜬 것을 선택하면 바로 입력이 되고 place holder 들이 나온다.

Text macro name

Completion prefix

If Block

if

If / Else Block

ifelse

Else If Block

elseif

For Loop

for

For i Loop

fori

While Loop

while

Do While Loop

do

Switch Block

switch

Case Block

case

Else Block

else

Enum Definition

enum

Struct Definition

struct

Union Definition

union

Type Definition

typedef

Printf() Call

printf

#Pragma Mark

pm

Pragma Mark

pragma

#Import Statement

pim

#Import Statement (System)

pims

#Import Statement (Framework)

pimf

#Include Statement

pin

#Include Statement (System)

pins

#If Block

pif

#Ifdef Block

pifd

#if / Else Block

pife

#Ifdef / Else Block

pifde

#if 0 Block

pifz

Copyright Comment

copyright

Comment Selection

comment

Separator Comment

cseparator


Text macro name

Completion prefix

Try / Catch Block

@try

Catch Block

@catch

Finally Block

@finally

NSLog() Call

log

Alloc / Init Call

a

Array Declaration

aa

Mutable Array Declaration

ma

Array For Loop

fora

Array Foreach Loop

fore

init Definition

init

dealloc Definition

dealloc

observeValueForKeyPath: Definition

observeValueForKeyPath

observeValueForKeyPath: Declaration

observeValueForKeyPath

bind: Definition

bind

bind: Declaration

bind

@interface Definition

@interface

@implementation Definition

@implementation

@protocol Definition

@protocol

NSString

nss

NSMutableString

nsms

NSMutableString

nsa

NSMutableArray

nsma

NSDictionary

nsd

NSMutableDictionary

nsmd



http://blog.xiles.net/188]


출처 : http://blog.naver.com/PostView.nhn?blogId=baek2187&logNo=150073752984

'XCODE' 카테고리의 다른 글

[펌] Xcode 3 둘러보기(3) - 기타  (0) 2010.06.21
[펌] Xcode 에서 디버깅 작업  (0) 2010.06.21
[펌] Xcode 에 Subversion 적용하기  (0) 2010.06.21
[펌] Xcode 단축키  (0) 2010.06.21
[펌] Mac OS X 키보드 단축키  (0) 2010.06.17
[펌] Xcode, 꼭 알아두면 좋은 것들  (0) 2010.06.17
Posted by 오늘마감

댓글을 달아 주세요

«이전  1  다음»