0

ストーリーボードを使用して IOS5 でアプリを作成しています。UiPickerView を作成しました。オプションが選択されたときに、多くの UIViewControllers の 1 つを開きたいと思います。ユーザーが使用したいView Controllerを選択してもらいたいだけです。複数のView Controllerを接続するにはどうすればよいですか。

ありがとうプレナ

4

2 に答える 2

1

ピッカービューには、次のデリゲートとデータソースを使用してください

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

        if(button_Number == 1)
        {
            UILabel *label =[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 280, 30)];

            NSString *nameStr=[arr_countryName objectAtIndex:row];
            // NSString *nameStr=[programNameArr objectForKey:@"programname"];
            label.text = nameStr;
            label.font = [UIFont boldSystemFontOfSize:14.0f];
            label.textAlignment = UITextAlignmentLeft;
            label.backgroundColor = [UIColor clearColor];
            [label autorelease];
            return label;
        }
        if (button_Number == 2)
        {
            UILabel *label =[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 280, 30)];

            NSString *nameStr=[arr_currencyCode objectAtIndex:row];
            // NSString *nameStr=[programNameArr objectForKey:@"programname"];
            label.text = nameStr;
            label.font = [UIFont boldSystemFontOfSize:18.0f];
            label.textAlignment = UITextAlignmentLeft;
            label.backgroundColor = [UIColor clearColor];
            [label autorelease];
            return label;
        }
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
        //return (NSString*)[clientListArray objectAtIndex:row];

        if(button_Number == 1)
        {
            return (NSString*)[arr_countryName objectAtIndex:row];
        }
        if (button_Number == 2)
        {
            return (NSString*)[arr_currencyCode objectAtIndex:row];
        }
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
        return 1;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{

        if(button_Number == 1)
        {
            return [arr_countryName count];
        }
        if (button_Number == 2)
        {
            return [arr_currencyCode count];
        }
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{

        selectedScrollIndex = row;

        // clientNameTxtFld.text = [clientListArray objectAtIndex:row];

        // LBL.text = [clientListArray objectAtIndex:row];
}
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 
    {
        if(buttonIndex == 0)
        {

        }

        if (buttonIndex == 1 && button_Number == 1)
        {
            countryTxtFld.text = [arr_countryName objectAtIndex:selectedScrollIndex];
            //selected_Client_ID = [clientIDArray objectAtIndex:selectedScrollIndex]; 

            selectedScrollIndex = 0;
        }

        if (buttonIndex == 1 && button_Number == 2)
        {
            currencyTxtFld.text = [arr_currencyCode objectAtIndex:selectedScrollIndex];
            //selected_Client_ID = [clientIDArray objectAtIndex:selectedScrollIndex]; 

            selectedScrollIndex = 0;
        }
}
于 2012-05-11T08:03:21.020 に答える
0

.h ファイル内のすべてのビュー コントローラーのインスタンスを作成しtag、UIPickerView 内の行タッチ タイトル配列のシーケンスに従って、それらすべての値を設定します。これが完了したら、UIPickerViewDelegate必要なデリゲート メソッドを継承して実装します。

- (void)pickerView:(UIPickerView *)pickerView didSelectRow: (NSInteger)row 
 inComponent:(NSInteger)component {
    // Handle the selection    
    switch (row) {
        case 0:
            [self presentModalViewController:viewController1 animated:YES];
            break;
        case 1:
            [self presentModalViewController:viewController2 animated:YES];
            break;
        case 2:
            [self presentModalViewController:viewController3 animated:YES];
            break;
    }
}
于 2012-05-10T18:35:02.877 に答える