* 컨트롤
- UIKit가 제공하는 재사용 가능한 작은 부품
- 일종의 뷰라고 할 수 있다
- UIButton, UIDatePicker, UIPageControl, UISegmentControl, UITextField, UISlider, UISwitch...
- 능동 컨트롤 : 사용자의 실제 이벤트를 연결하는 컨트롤. 일반적으로 버튼 등이 해당
- 정적 컨트롤 :
- 수동 컨트롤
: 일반적으로 텍스트 필드 등이 해당
* UILabel
- 정적 텍스트를 출력하기 위한 읽기 전용 뷰로 UIView로부터 상속. 컨트롤이 아님.
- UIresponder로부터 상속받은 속성은 사용이 가능하지만 UIControl에 있는 이벤트는 사용 불가
- 간단한 텍스트를 출력하기 위한 용도로 사용
- lineBreakMode 프로퍼티가 중요. 출력 영역을 벗어났을 때의 처리.
- numberOfLines : 몇줄까지 출력 가능한가라는 의미
* 타이머(NSTimer)
- 일정 주기, 일정 시간에 대한 기능을 사용할 때 쓰는 클래스
- NSTimer.h에 정의되어 있으나, Foundation에 포함되어 있으므로 기본적으로 인클루드는 안해도 된다.
- +(id) scheduledTimerWithTimeInterval : 실행주기 Target : 수행할 메소드가 있는 객체 selector : @selector(수행할 메소드) userinfo : (id)부가 정보를 저장할 객체 repeats: (BOOL) 반복여부];
- 수행할 메소드가 있는 객체 : 대개는 self
- 수행할 메소드 : 시간이 되었을 때 수행할 명령. 매개변수도 없고 리턴값도 없어야 함
- 반복여부 : yes / no
- 타이머 종료시에는 invalidate 메소드를 호출해서 무효화시킴.
* 인터페이스 빌더로 만든 것은 dealloc으로 해제
* 프로퍼티를 만든 것은 synthersize로 해제
* UITextField
- 사용자로부터 키보드 입력을 받기 위한 컨트롤
- 문자가 아니라 숫자만 입력하면 될 경우는 Number Pad로 변경한다
* 키입력시 키보드가 화면을 가려버리는 문제의 해결
1. 특정 키를 누를 때 키보드에 할당된 입력 이벤트를 강제로 회수해 버리면 된다
- < UITextFieldDelegate>프로토콜을 따르도록 설정하고 (Bool)textFieldShouldReturn:(UITextField*)theTextField 메서드에서 매개변수가 resignFirstResponder 메서드를 호출
2. Did End on Exit 이벤트를 이용
3. 텍스트 필드에 이벤트가 발생할 때 버튼을 화면 위로 올리
4. 뷰 클래스나 뷰 컨트롤러 클래스에서 터치 이벤트를 이용해서 텍스트 필드에서 FirstResponder를 해제
'프로그래밍 > Objective-C' 카테고리의 다른 글
중앙정보학원 아이폰과정 9일차 - 2010년 7월 15일 (0) | 2010.07.15 |
---|---|
중앙정보학원 아이폰과정 8일차 - 2010년 7월 14일 (0) | 2010.07.14 |
중앙정보학원 아이폰과정 5일차 - 2010년 7월 9일 (0) | 2010.07.09 |
중앙정보학원 아이폰과정 4일차 - 2010년 7월 8일 (0) | 2010.07.08 |
중앙정보학원 아이폰과정 3일차 - 2010년 7월 7일 (0) | 2010.07.07 |