テキストフィールドをクリックするとピッカービューが生成されるアプリケーションを作成しています。pickerview には 2 つのコンポーネントがあります
今私の質問は、コンマ(、)で区切られたテキストフィールドに強調表示されている両方のコンポーネントのタイトルを取得したいということです
前もって感謝します。
テキストフィールドをクリックするとピッカービューが生成されるアプリケーションを作成しています。pickerview には 2 つのコンポーネントがあります
今私の質問は、コンマ(、)で区切られたテキストフィールドに強調表示されている両方のコンポーネントのタイトルを取得したいということです
前もって感謝します。
UIPickerView
pickerViewというオブジェクトがあるとします。ユーザーがアクションを完了して完了ボタンをタップすると、選択した値が次のように取得されます。
int offset1 = [pickerView selectedRowInComponent:0];
int offset2 = [pickerView selectedRowInComponent:1];
NSString *str = [NSString stringWithFormat:@"%@,%@",[arrOne objectAtIndex:offset1],[arrTwo objectAtIndex:offset2]];
arrOne と arrTwo は、ピッカービューを設定するために使用される配列です。
デリゲートを追加するとUIPickerViewDataSource,UIPickerViewDelegate
、デリゲート メソッドで次のようにこの値を直接割り当てることができます...
- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
yourTextField.text = [NSString stringWithFormat:@"%@,%@",[arr1 objectAtIndex:row],[arr2 objectAtIndex:row]];
}
これがあなたを助けることを願っています...
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];
}
}