iOS 에서 PickerView 를 등록해서 사용할 수 있는데,
그 방법을 알아보자
다음과 같은 뷰를 최종적으로 만들 것인데,
상단에 보이는 것은 DatePicker 를 사용하여 만들 수 있고
사용자가 변경할 필요가 없는 구조이다
아래 보이는 것이 PickerView 를 사용하여 만들 수 있는 것으로
사용자가 입맛에 맞게 변경할 수 있는 구조이다
DatePicker 를 사용하는 구조는, 화면 수정하는 곳에서 등록만으로도 사용이 가능하다
하지만, PickerView를 사용하기 위해서는 사전작업이 필요하다
이와 같은 구조를 어떻게 만들 수 있는지 알아보자
TimerSetupViewController
를 만들어 다음과 같이 프로그래밍 하였다
헤더파일에는 다음을 추가할 준비를 해둔다
UIPickerViewDelegate
UIPickerViewDataSource
===================================================================================
TimerSetupViewController.h 파일
#import <UIKit/UIKit.h>
@interface TimerSetupViewController : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource>
@end
UIPickerViewDataSource
를 사용하기 위해서, 추가적인 메소드들을 다음과 같이 구현해준다
1개의 컴포넌트, 5개의 행, 모든 행의 문자들을 abc
라는 것을 해당 소스가 말해준다
===================================================================================
TimerSetupViewController.m 파일
#import <UIKit/UIKit.h>
#import "TimerSetupViewController.h"
@implementation TimerSetupViewController
// returns the number of 'columns' to display.
// pickerView가 사용자에게 표시될 컴포넌트의 번호를 확인한다
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
// returns the # of rows in each component..
// 특정한 컨포넌트에서 표시되는 행의 숫자를 pickerView에게 알려준다.
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return 5;
}
// 컴포넌트에서 사용할 명칭들
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return @"abc";
}
===================================================================================
다음과 같은 구조로 화면을 그렸고,
각각은 DatePicker 와 PickerView 를 사용하여 그렸다
프로그램 구동을 시켜보면,
DatePicker 는 잘 나오지만, PickerView 는 화면에 표기가 되지 않음을 확인할 수 있다
화면에 보여주기 위해서는, 다른 방법이 필요했다
@interface TimerSetupViewController : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource>
다음과 같이 연결되어 있는 delegate 와 dataSource 를
pickerView 를 선택했을때, connections inspector 에서 Outlets 부분에서 확인가능하다
해당 Outlets 을, File's Owner 와 연결해 주는 작업을 해야 한다
아래와 같이 연결이 된다
이제 프로그램을 작동시켜보면,
다음과 같이 PickerView 가 정상적으로 나옴을 확인할 수 있다
화면에 PickerView 를 달아서 사용할 수 있게 만들었으니,
다음에는 이를 응용하는 방법을 알아봐야 겠다
'IT > iPhone' 카테고리의 다른 글
ios에서 PickerView를 사용하여, 시간을 선택하기 (0) | 2016.05.04 |
---|---|
ios에서 테이블뷰에서, 커스터마이징된 셀을 삭제하는 법 - 검색편 (0) | 2016.05.03 |
[ios앱만들기-사진편집] 카메라 기능 추가하기 (0) | 2016.04.22 |
setNeedsDisplay 와 DrawRect (0) | 2016.04.16 |
[ios앱만들기-사진편집]사진에 직접 그림을 그리기-1 (0) | 2016.04.11 |