如果你以后去 google 并输入你的班级名称和“班级参考”,你通常可以在苹果网站上找到你需要的信息。
例如,我刚上谷歌并输入“UIPickerView 类参考”并到达这里:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIPickerView_Class/Reference/UIPickerView.html。
如果您阅读该网站上的说明,它会显示“代理必须采用 UIPickerViewDelegate 协议”,如果您点击那里,它会在任务下显示:
响应行选择 –
pickerView:didSelectRow:inComponent:
这是您需要实现的委托方法,当用户选择一行时将调用该方法。如果你点击它,它会给出一些描述等等。
如果你去描述,那么完整的方法是:
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
所以当用户选择一行时,这个方法会被调用,pickerView 会自动传递给该方法。
然后您可以获取用户选择的行。如果您返回到 UIPickerView 类引用的页面,您会看到:
在视图选择器中选择行
– selectRow:inComponent:animated:
– selectedRowInComponent:
selectedRowInComponent: 方法是您想要的方法。所以在委托方法中你可以这样做:
int selectedRow = (int)[pickerView selectedRowInComponent:0];
:) 当我想找到此类问题的答案时,我就是这样做的。 :)
编辑:
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
int selectedRow = (int)[pickerView selectedRowInComponent:0];
NSLog(@"%i",selectedRow);
}