私は、ラスタビューのサブビューとして読み込まれるlandscapeviewとportraitviewを持つメインビューを持っています。ランドスケープビューとportraitviewには、それらにリンクされたUIPickerViewオブジェクトがあります。私のソースでは、それらをすべてプロパティとして持っており、私はまた、風景とポートレートのピッカーのラッパーを持っています。彼らはUIPickerViewが正しいデータを返さない
@property (nonatomic, retain, readonly) IBOutlet UIPickerView *pickerTown;
@property (nonatomic, retain, readonly) IBOutlet UIPickerView *pickerType;
@property (nonatomic, retain, readonly) IBOutlet UIDatePicker *pickerFrom;
@property (nonatomic, retain, readonly) IBOutlet UIDatePicker *pickerTo;
@property (nonatomic, retain) IBOutlet UIPickerView *landscapePickerTown;
@property (nonatomic, retain) IBOutlet UIPickerView *landscapePickerType;
@property (nonatomic, retain) IBOutlet UIDatePicker *landscapePickerFrom;
@property (nonatomic, retain) IBOutlet UIDatePicker *landscapePickerTo;
@property (nonatomic, retain) IBOutlet UIPickerView *portraitPickerTown;
@property (nonatomic, retain) IBOutlet UIPickerView *portraitPickerType;
@property (nonatomic, retain) IBOutlet UIDatePicker *portraitPickerFrom;
@property (nonatomic, retain) IBOutlet UIDatePicker *portraitPickerTo;
のように定義されていると私は縦または横にいたときに、読み取り専用のラッパーのそれぞれについて、私は
- (UIPickerView *) pickerTown
{
if(self.landscapeView.superview)
{
return landscapePickerTown;
}else
{
return portraitPickerTown;
}
}
を持っている。しかし、私は
myHelper.selectedTown = [myHelper.towns objectAtIndex:[pickerTown selectedRowInComponent:0]];
を言うために、たとえばみてください私は選択された値を取得するのではなく、配列の最初の値を取得します。
次のようにデータが追加されます:
if(pickerView == landscapePickerType || pickerView == portraitPickerType) {
return [myHelper.types objectAtIndex:row];
}else if(pickerView == landscapePickerTown || pickerView == portraitPickerTown){
return [myHelper.towns objectAtIndex:row];
}else
{
return @"";
}
と配列:
myHelper = [Helper sharedManager];
[myHelper.types addObject:@"None"];
[myHelper.types addObject:@"Food & Wine"];
[myHelper.types addObject:@"Test"];
[myHelper.towns addObject:@"None"];
[myHelper.towns addObject:@"Vanderbijlpark"];
[myHelper.towns addObject:@"Test"];
は、私がここで間違って何をやっているの?
ありがとうございました – Armand