【发布时间】:2014-01-23 11:56:38
【问题描述】:
我有几个选择器视图和一个开关。我想做的是每次切换按钮时更改选择器的值。为简单起见,假设我想在开关打开时选择每个选择器的第二行,在开关关闭时选择每个选择器的第十行。从我过去几个小时收集的信息来看,这样做的方法如下:
// action called when the switch is toggled
- (void) switchToggled:(id)sender {
if ([sender isOn]) {
[picker1 selectRow:2 inComponent:0 animated:YES];
[picker2 selectRow:2 inComponent:0 animated:YES];
}
else {
[picker1 selectRow:10 inComponent:0 animated:YES];
[picker2 selectRow:10 inComponent:0 animated:YES];
}
}
不过,这似乎不起作用。我还注意到selectRow:inComponent 方法不会更改选择器的值,除非在绘制/重绘视图时调用它,或者从didSelectRow:inComponent 方法调用它时。
有什么想法吗?
【问题讨论】:
-
picker1 和 picker2 是 IBOutlets 吗?它们是否连接到 xib/storyboard 中的控件?需要连接控件及其委托。
标签: ios uipickerview uiswitch