Serdar
Serdar

Reputation: 17

How to display UIlabel with string format when selecting data from a UIPickerview

Hi I have one picker view. This picker view from web services came to loading data. This picker view is 2 part. Picker view 1. part is Project name. and Picker view 2. part is Project number. When open screen Project no label is no data. when open screen Project name label no data. But when i rotate my picker view came to data this like Proje Adı: "A1 Unitesi" Proje No: "002". How i can When open screen came to data like rotate my picker ?

When open screen Project Name and Project No Labels no data. I want to came data when open screen

enter image description here

When I rotate picker view came to data like this.

enter image description here

 - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
        return 2;
    }

    - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
    {

        if (component == 0) {
            return [RaporlarList count];
        }
        return [RaporlarList count];

    }

    #pragma mark Picker Delegate Methods
    - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
    {

        if (component == 0) {
        eObje =  [RaporlarList objectAtIndex:row];
        return  eObje.ProjeAdii;

        }
        eObje = [RaporlarList objectAtIndex:row];
        return eObje.ProjeNoo;
    }

    #pragma mark -
    #pragma mark PickerView Delegate

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

         if (component == 0)
{

    NSString *resultString = [[NSString alloc] initWithFormat:@"Proje Adı : %@", [[RaporlarList objectAtIndex:row] ProjeAdii]];
    lblProjeAdi.text = [NSString stringWithFormat:@"%@", resultString];

}
else
{
    NSString *resultString = [[NSString alloc] initWithFormat:@"Proje No: %@", [[RaporlarList objectAtIndex:row] ProjeNoo]];
    lblProjeNo.text = resultString;

}

       }

Upvotes: 0

Views: 501

Answers (2)

Serdar
Serdar

Reputation: 17

The correct answer to my question is as follows:

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

             if (component == 0)
    {

        NSString *resultString = [[NSString alloc] initWithFormat:@"Proje Adı : %@", [[RaporlarList objectAtIndex:row] ProjeAdii]];
        lblProjeAdi.text = [NSString stringWithFormat:@"%@", resultString];

    }
    else
    {
        NSString *resultString = [[NSString alloc] initWithFormat:@"Proje No: %@", [[RaporlarList objectAtIndex:row] ProjeNoo]];
        lblProjeNo.text = resultString;

    }

           }

Upvotes: 0

Kunal Balani
Kunal Balani

Reputation: 4789

You have selected wrong datasource for pickerview.

You are returning string, instead return the label

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component
{

        // return your UILabel
}

Upvotes: 1

Related Questions