2016-07-12 7 views
0

Mit einem einzelnen Wert-Array möchte ich diesen einzelnen Wert als Textdatei auswählen. Nachdem ich den PickerView geladen habe, kann ich diesen einzelnen Wert nicht auswählen, da beim Auswählen dieses einzelnen Zeilenwerts die Ansicht scrollt und die Auswahlansicht scrollt.kann kein Einzelwertarray in der Auswahlansicht auswählen

kann ich nicht, dass einzelnen Zeile Wert wählen und ich so versucht:

Picker Ansicht decleration

ProjectListpicker = [[UIPickerView alloc] initWithFrame:CGRectMake(325, 90, self.view.frame.size.width-500, 300)]; 
[ProjectListpicker setShowsSelectionIndicator:YES]; 
[ProjectListpicker selectRow:1 inComponent:0 animated:YES]; 
[ProjectListpicker reloadAllComponents]; 
ProjectListpicker.delegate = self; 
ProjectListpicker.dataSource = self; 
ProjectListpicker.tag = 1; 
ProjectListpicker.backgroundColor=[UIColor yellowColor]; 
[ProjectListpicker selectRow:1 inComponent:0 animated:YES]; 
ProjectListpicker.alpha = 0; 
[CreatmeetingView addSubview:ProjectListpicker]; 

und in didSelectRow Methode

Projectstxtfld.text=[PROJECT_NAMEArray objectAtIndex:row]; 
    _ProjId = [PROJECT_IDArray objectAtIndex:row]; 
    NSLog(@"propiid %@ %@",ProjectIdstr,_ProjId); 
    [ProjectListpicker removeFromSuperview]; 

Kann jemand mir helfen, auf diesem Problem?

+0

Code überprüfen. Sie haben [ProjectListpicker selectRow: 1 inComponent: 0 animiert: YES] zweimal hinzugefügt. –

+0

ya..aber ich entfernt..Extra Linien ... immer noch die gleichen .. :( –

+0

Zeigen Sie mir Ihre vollständige Codierung – user3182143

Antwort

0

Versuchen Sie einfach unten Code

UIPickerView * ProjectListpicker = [[UIPickerView alloc] init]; 
    ProjectListpicker.frame = CGRectMake(5,70,150,300); 
    ProjectListpicker.tag = 1; 
    ProjectListpicker.delegate = self; 
    ProjectListpicker.showsSelectionIndicator = YES; 
    [self.view addSubview:ProjectListpicker]; 

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
{ 
    NSLog(@"%@",_pickerData[row]); 
} 
0

I Beispielprojekt für Ihre mögliche Frage versucht hat, die Delegatmethoden von PickerView.In arrayPicker ich nur eine data.That haben zu verwenden ist iOS.When wählte ich die Zeile Von der Komponente funktioniert es einwandfrei und ich bekomme den ausgewählten Zeilenwert in textField.

Sie haben nur ein Datum in Array so will, wenn direkt die ausgewählte Zeile setzen und diesen Wert zu erhalten, müssen die unten verwenden code.Here Select Row 0

[ProjectListpicker selectRow sein: 0 inComponent: 0 animierte :JA];

Anstelle von [ProjectListpicker selectRow: 1 inComponent: 0 animiert: YES];

UIPickerView * ProjectListpicker = [[UIPickerView alloc]init]; 
ProjectListpicker.frame = CGRectMake(0, 315, 320, 216); 
ProjectListpicker.showsSelectionIndicator = YES; 
ProjectListpicker.dataSource = self; 
ProjectListpicker.delegate = self; 
[ProjectListpicker selectRow:0 inComponent:0 animated:YES]; 
[self.view addSubview:ProjectListpicker]; 

Pragma Marke -PickerView Delegierter

// tell the picker how many components it will have 
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView 
{ 
    return 1; 
} 

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component 
{ 
    return arrayPicker.count; 
} 

// tell the picker the title for a given component 
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component 
{ 
    return [arrayPicker objectAtIndex:row]; 
} 

// tell the picker the width of each row for a given component 
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component 
{ 
    return 300; 
} 

// get Picker Value 
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
{ 
    @try { 
    textFldPickerValue.text = [arrayPicker objectAtIndex:row]; 
    NSLog(@"The textFldPickerValue.text is - %@",textFldPickerValue.text); 
    } 
    @catch (NSException *exception) { 

    } 
} 
Verwandte Themen