2 Stimmen

UIPickerview bei Klick auf textField

Ich habe ein Textfeld in einer UItableview. Der Benutzer klickt auf das Textfeld und ich möchte eine UIpickerview mit Daten aus NSArray zu Popup. Ich habe versucht, dies zu implementieren, aber die App stürzt ab. Bitte finden Sie meinen Code unten.

- (NSString*)pickerView:(UIPickerView*)pv titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
    return [policyarraycount objectAtIndex:row];
}

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView*)pv
{
    return 1;
}
- (NSInteger)pickerView:(UIPickerView*)pv numberOfRowsInComponent:(NSInteger)component
{
    return [policyarraycount count];
}

- (void)pickerView:(UIPickerView *)pv didSelectRow:(NSInteger)row inComponent:(NSInteger)component {

    txtPolicy.text = (NSString *)[policyarraycount objectAtIndex:row];
}

Bitte lassen Sie mich wissen, was ich falsch mache.

Danke

1voto

wkberg Punkte 25

Ich habe es vor ein paar Monaten für eine App verwendet:

Eine IBAction einrichten und dann die UIPickerview dort erstellen:

UIPickerView *thingPicker = [[UIPickerView alloc] initWithFrame:CGRectZero];
[UIPickerView setAnimationDelegate:self];
thingPicker.delegate = self;
thingPicker.dataSource = self;
[thingPicker setShowsSelectionIndicator:YES];
textField.inputView = thingPicker;

Legen Sie die Parameter für den Picker fest:

(mit der textFieldNumber können Sie jede Auswahlansicht auf ein anderes textField setzen)

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)windPicker {

return 1; //Here if textFieldBOOL == # can also be used but I only use 1 component.
}

- (NSInteger)pickerView:(UIPickerView *)thingPicker numberOfRowsInComponent:(NSInteger)component {
if (textFieldNumber == 0) {
    return [fromAnArray count];

- (NSString *)pickerView:(UIPickerView *)thingPicker titleForRow:(NSInteger)row forComponent:(NSInteger)component {
if (textFieldNumber == 0){
    return [fromAnArray objectAtIndex:row];
}

- (void)pickerView:(UIPickerView *)thingPicker didSelectRow:(NSInteger)row inComponent:(NSInteger)component {  
if (textFieldNumber == 0) {
[textField setText:(NSString *)[fromAnArray objectAtIndex:row]];

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X