CPPicker を使用してアプリケーションに水平ピッカーを実装し、タグを使用して 2 つのピッカーのどちらについて話しているかを判断しています。
// Picker creation
CPPickerView *pickerView = [[CPPickerView alloc] initWithFrame:CGRectMake(100, 5, 150, 40)];
pickerView.dataSource = self;
pickerView.delegate = self;
pickerView.peekInset = UIEdgeInsetsMake(0, 40, 0, 40);
[pickerView reloadData];
pickerView.showGlass = YES;
[cell addSubview:pickerView];
if (indexPath.section == 0) {
pickerView.tag = 0;
}
else if (indexPath.section == 1) {
pickerView.tag = 1;
}
return cell;
その後、タグをチェックして pickerView のタイトルを指定します。ただし、タグに対して 0 しか読み取らないため、両方のピッカーの値は同じです。
- (NSString *)pickerView:(CPPickerView *)pickerView titleForItem:(NSInteger)item {
NSString *title = nil;
if (pickerView.tag == 0) {
title = [NSString stringWithFormat:@"%d", (200 + (item * 20))];
}
else if (pickerView.tag == 1) {
title = [NSString stringWithFormat:@"%d", item + 1];
}
return title;
}
ここで何が間違っていますか?