0

私は配列を介して開発している UIPicker を持っています。私の配列では、現在10個の値とUIPickerカウント配列の行数を保存していますが、ピッカーはその中に10個の値を表示しています.しかし、私の問題は、UIPickerをスクロールすると、10行目がスクロールされた後に新しい行値が入力された状態で自動的に追加されます。実際、アクションシートにピッカーを追加しました。これは、ピッカーにデータをロードするコードです。

- (void)viewDidLoad 
{   
    currentData = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",nil];
    [super viewDidLoad];
}

 #pragma mark  UIPickerViewDelegate Methods
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 1;
}
-(NSInteger)pickerView:(UIPickerView*)pickerView numberOfRowsInComponent:(NSInteger)component
{
    int count;  
    if ([pickerType isEqualToString:@"picker"])
    {
        count = [currentData count];
    }

    return count;
}
-(NSString*)pickerView:(UIPickerView*)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
    NSString *string;
    if ([pickerType isEqualToString:@"picker"])
    {
        NSString *str = @"miles";
        //string = [NSString stringWithFormat:@"%d",[currentData objectAtIndex:row],@"%@",str];
        string = [NSString stringWithFormat:@"%@" @"%@",[currentData objectAtIndex:row],str];
        NSLog(@"%@",string);
    }   
    return string;
}
-(CGFloat)pickerView:(UIPickerView*)pickerView widthForComponent:(NSInteger)component
{
    return 300;
}
-(void)pickerView:(UIPickerView*)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    select = YES;       
    if([barItems objectAtIndex:2]!=0)
    {                   
    if ([pickerType isEqualToString:@"picker"])
    {
        sessoTxt.text = [currentData objectAtIndex:row];
    }                   
}
    else{
        sessoTxt.text = @"Select";
    }    
}

最後の配列値の後にスクロールされたときにピッカーの行を動的にインクリメントする方法.Thanks

4

1 に答える 1

0

http://forums.macrumors.com/showthread.php?p=6120638&highlight=UIPickerView#post6120638を確認してください。

于 2012-05-12T08:19:44.640 に答える