728x90
pickerview 항목 2개 이상 만들기
NSMutableArray * yearArr;
NSMutableArray * monthArr;
// 열 개수
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 2;
}
// 열 데이터 갯수
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
if (component == 0) {
return [yearArr count];
} else {
return [monthArr count];
}
}
// 행 높이
- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component {
return 40;
}
// 열 데이터 세팅
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
if (component == 0) {
NSString * year = [yearArr objectAtIndex:row];
return [NSString stringWithFormat:@"%@년",year];
} else {
NSString * month = [monthArr objectAtIndex:row];
return [NSString stringWithFormat:@"%@월",month];
}
}
// 열 데이터를 더 세세하게 세팅 하고 싶을 때
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
UILabel * dateLB = [UILabel new];
[dateLB setFont:[UIFont fontWithName:@"Pretendard-Regular" size:18]];
[dateLB setTextColor:UIColor.blackColor];
[dateLB setTextAlignment:NSTextAlignmentCenter];
if (component == 0) {
NSString * year = [yearArr objectAtIndex:row];
[dateLB setText:[NSString stringWithFormat:@"%@년",year]];
} else {
NSString * month = [monthArr objectAtIndex:row];
[dateLB setText:[NSString stringWithFormat:@"%@월",month]];
}
return dateLB;
}
// 선택한 값 확인
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
if (component == 0) {
[yearArr objectAtIndex:row];
} else {
[monthArr objectAtIndex:row];
}
}
728x90
'iOS > iOS' 카테고리의 다른 글
UICollectionView (0) | 2022.11.04 |
---|---|
DateFormatter (0) | 2022.11.03 |
navigation stack에서 특정 VC 삭제 (0) | 2022.11.02 |
UIScrollView (0) | 2022.11.01 |
UISegmentedControl (0) | 2022.10.19 |
댓글