2

テキストフィールドをクリックするとピッカービューが生成されるアプリケーションを作成しています。pickerview には 2 つのコンポーネントがあります

今私の質問は、コンマ(、)で区切られたテキストフィールドに強調表示されている両方のコンポーネントのタイトルを取得したいということです

前もって感謝します。

4

3 に答える 3

1

UIPickerViewpickerViewというオブジェクトがあるとします。ユーザーがアクションを完了して完了ボタンをタップすると、選択した値が次のように取得されます。

int offset1 = [pickerView selectedRowInComponent:0];
int offset2 = [pickerView selectedRowInComponent:1];

NSString *str = [NSString stringWithFormat:@"%@,%@",[arrOne objectAtIndex:offset1],[arrTwo objectAtIndex:offset2]];

arrOne と arrTwo は、ピッカービューを設定するために使用される配列です。

于 2012-12-18T09:37:33.060 に答える
0

デリゲートを追加するとUIPickerViewDataSource,UIPickerViewDelegate、デリゲート メソッドで次のようにこの値を直接割り当てることができます...

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
    yourTextField.text = [NSString stringWithFormat:@"%@,%@",[arr1 objectAtIndex:row],[arr2 objectAtIndex:row]];

}

これがあなたを助けることを願っています...

于 2012-12-18T09:49:39.667 に答える
0

pickerview デリゲートを設定した場合は、このスニペットを以下に記述します

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    for(NSUInteger k = 0; k < <number of components>s; ++k++)
    {
        NSUInteger selectedRow = [<Your pickerview name> selectedRowInComponent:k];
        NSString *title = [[<Your pickerview name> delegate] pickerView:<Your pickerview name> titleForRow:selectedRow inComponent:i];
       [<Your temporary string> appendFormat:@"Selected item \"%@\" in component %lu\n", title, i];
    }
}
于 2012-12-18T09:35:13.017 に答える