简体   繁体   English

从UIPickerview选择数据时如何以字符串格式显示UIlabel

[英]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. Web服务的该选择器视图用来加载数据。 This picker view is 2 part. 该选择器视图分为2部分。 Picker view 1. part is Project name. 选择器视图1.部分是项目名称。 and Picker view 2. part is Project number. 和Picker视图2.部分是项目编号。 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". 但是当我旋转选择器视图时,像ProjeAdı:“ 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 我想在打开屏幕时来数据

在此处输入图片说明

When I rotate picker view came to data like this. 当我旋转选择器视图时,会看到这样的数据。

在此处输入图片说明

 - (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;

}

       }

You have selected wrong datasource for pickerview. 您为pickerview选择了错误的数据源。

You are returning string, instead return the label 您正在返回字符串,而是返回标签

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

        // return your UILabel
}

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;

    }

           }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM