0

私はtableview5行ありますが、行を選択するとUIPickerView次のページでオプションを選択するために開きます。5行でも同じことが起こります。今、ピッカー値が必要です。特定の行(右側)に反映される必要があります。選択しました

選択した行の値(UIPicker値)を実行するためのボタンが同じページにあります。Button.toで取得した行の値を選択するためのオプションを指定する方法UIPicker

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    if(indexPath.row==0){

        Picker1 *logInController = [[Picker1 alloc] init];

    [[self navigationController] pushViewController:logInController animated:YES];
    }

    if(indexPath.row==1){

        Picker2 *logInController = [[Picker2 alloc] init];

        [[self navigationController] pushViewController:logInController animated:YES];
    }
}

上記のように、を開いてUIPIckerオプションを選択しました。

PICKER1.mで

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

    // update label text to show selected option

    NSString* string=[NSString stringWithFormat:@"you are selected %@",[list objectAtIndex:row]];

    label.text=string;

}



- (void)viewDidLoad

{      
    [super viewDidLoad];

    list =[[NSMutableArray alloc]init];
    [list addObject:@"GPS"];
    [list addObject:@"NONE"];


}
4

1 に答える 1

1
  1. tableView のデータソースを変更する必要があります。辞書の配列を取得できます (キー leftTitle および rightTitle を使用)。
  2. デリゲート メソッド valueSelected を使用して Picker1 と Picker2 にプロトコルを実装する必要があります。
  3. tableView を使用してコントローラーにデリゲートを実装します。
  4. 選択した行のグローバル インデックスを保存する必要があります。ピッカーを押しながらデリゲートを自分自身に設定します。
  5. ピッカー コントローラーでボタンをタップすると、 valueSelected: ピッカーで選択されたデリゲート & パス値が呼び出されます。
  6. プロトコルメソッドを実装したtableViewを備えたコントローラーで、値を取得してデータソースに保存します(選択したインデックスを持つ辞書のキー「rightTitle」の値として)。
  7. テーブルをリロードします。
于 2012-12-10T07:02:57.580 に答える