未选中的UIPickerView值

时间:2010-03-15 23:42:11

标签: iphone objective-c cocoa-touch uikit uipickerview

根据文档,如果UIPickerView没有选定值,则selectedRowInComponent:的预期回报应为:

  

“标识所选行的零索引编号,如果未选择任何行,则为-1。”

但是,如果我在初始化一行后检查该行的值,则其值为0.即使我然后手动将其设置为-1,它仍然返回0.我希望能够检测用户是否有是否选择了一个值,而不是将其记录在局部变量中。这可能吗?

示例:

UIPickerView *picker = [[UIPickerView alloc] initWithFrame:CGRectMake(0.0, 46.0, 320.0, 216.0)];
[picker selectRow:-1 inComponent:0 animated:NO];
NSLog(@"SELECTED %d", [picker selectedRowInComponent:0]);

expected output:
SELECTED -1

actual output:
SELECTED 0

1 个答案:

答案 0 :(得分:3)

我不确定,但我认为只有当请求的组件实际上没有任何行时它才会返回-1。 无法在UIPickerView中选择行。我的意思是,你可以在顶部有一个空行,或者某个东西,那将是索引0,但是没有办法告诉UIPickerView不选择任何行。