2

我正在编写一个应用程序,当我们单击文本字段时,它会生成一个pickerview。pickerview 有两个组件

现在我的问题是我想获得两个组件的标题,这些组件在我的文本字段中突出显示,用逗号(,)分隔

提前致谢。

4

3 回答 3

1

假设您有一个UIPickerView名为 pickerView 的对象。当用户完成他的操作并点击完成按钮时,您应该将选定的值设为

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

如果您设置了 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 回答
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 回答