본문 바로가기

프로그램 경험/iOS

[iPhone] Segmented Control의 Momentary 속성은 무엇인가? mo·ment·ary 형용사순간적인, 잠깐[찰나]의 사전적 의미는 잘 알아먹었다. 근데 이게 뭐하는걸까? 좀 검색을 해보니까 분할 컨트롤의 선택된 버튼을 다시 누를수 있게 해주는 속성이라고 한다. 기본적으로 분할 컨트롤은 라디오 버튼 처럼 여러개 중의 하나를 선택 하는 컨트롤 이고 선택된 버튼은 선택된 상태를 유지 한다. 어떻게 되는지 테스트 해보았다. 위의 Momentary가 그 속성이다. 우선은 기본값으로 체크 해제된 상태에서 실행해보면 아래와 같이 선택이 유지된다. 하지만 Momentary를 체크 하고 보면 아래와 같이 선택된 버튼이 선택 해제된다. 정말 계속 눌리는지를 확인하기 위해서 아래 버튼의 타이틀을 눌릴때 마다 숫자 카운트를 표시 했다. 실제로 버튼을 누를때 마다 숫자가 증가 하여 액션을 ..
[iPhone] 코드로 UIToolbar에 UISegmentedControl 넣기 툴바에 세그먼트 컨트롤을 삽입하는데 IB에서는 그냥 드래그 해서 잘만 되더만 코드로는 어떻게 하는지 잘 모르겠더라... 아래와 같이 하면 되더라~^^ self는 UIToolbar 상속 받은 클래스다. #define TOOLBARBUTTON(TITLE, STYLE, SELECTOR) [[[UIBarButtonItem alloc] initWithTitle:TITLE style:STYLE target:self action:SELECTOR] autorelease] NSMutableArray *tbitems = [NSMutableArray array]; [tbitems addObject:TOOLBARBUTTON(@"아이템1", UIBarButtonItemStyleBordered, @selector(action))..
[iPhone] 아이패드 확인하기 현재 구동하는 기기가 아이패드인지 확인하는 코드 if ([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)]) { if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { //여기까지 오면 아이패드임 } }
[iPhone] iPhone으로 세션을 시작할 수 없기 때문에... 아이튠스 10 업그레이드 후 동기화 하면 마지막에 이런 오류 메시지가 뜬다. 백업을 지우면 사라진다는데 지워도 그대로다. 아이폰 재부팅을 하면 문제가 사라진다. 다행이다. ㅋㅋㅋ
[iPhone] 아이폰 4.1 버전 업그레이드 이후 기기 연동안됨 아이폰 4.1 버전이 나와서 업그레이드를 했는데 그 뒤로는 Xcode와 기기 연동이 안된다. Organizer 들어가보니 아래와 같은 화면이 보인다. 뭣도 모르고 그냥 Restore iPhone 눌렀다가 아이폰 초기화 됐다...ㅠㅠ 내용을 읽는 습관을 들여야 한다. 귀찮다고 그냥 암거나 누르면 개고생한다. 내용을 보니 내 Xcode에서 지원하는 버전이 아니라는 거다. 지원하는 버전은 here을 눌러서 웹사이트에서 다운 받으면 되는것이었다.
[iPhone] 개발전 사전 지식 Classes 오브젝티브C 클래스 파일들이 위치한다. 자유롭게 하위 폴더를 생성한다. Other Sources 오브젝티브C 클래스가 아닌 소스코드들이 위치한다. Resources 프로그램에서 사용하는 이미지, 소리, 동영상등의 파일들이 위치한다. 파일들을 프로젝트에 포함할때 [Copy items into destination...] 을 체크하여 복사하는 것이 좋다. xxx-Info.plist 애플리케이션의 일반적인 정보를 가진 파일 Bundle identifier 속성은 앱을 위한 유일한 식별자이며 항상 설정해야 함. Framework 참조되는 프레임워크, 라이브러리 등 위치한다. Products 해당 프로젝트가 컴파일 해서 생성한 애플리케이션을 담는다. File's Owner nib 파일 객체를 나타낸..
[Objective-C] 기본 내용 정리 #import는 그 파일에서 같은 헤더 파일을 여러번 포함하면 오류나는 문제를 해결. NS접두사는 코코아의 접두사. BOOL타입의 YES는 1, NO는 0 클래스 이름은 대문자로 사용하기를 권장. 메소드 디스패처는 특정 메시지에 어떤 메소드가 반응하게 되는지를 알기 위해 오브젝티브씨가 사용하는 방법. @기호는 C언어의 확장을 의미한다. 콜론은 메소드가 인수를 받아들인다면 붙이고 아니면 쓰지 않음. 컴파일러 지시자 다음에는 세미콜론을 넣지 않는다. 프라이빗 메소드도 호출 할 수 있다. 다중상속 기능은 불가하다. 접근자 메소드를 위한 이름 규칙 세터 메소드는 set을 먼저 쓰고 바꾸려는 속성 이름을 넣어준다. 게터 메소드는 단순히 자신들이 반환할 속성의 이름으로 쓰여진다. get이라는 단어는 코코아에서 파라..