我有一个选择器视图
[picker selectRow:3 inComponent:0 animated:YES];
当我在视图中编写此代码时确实加载了,
此方法用于将第 3 行设置为选取器中的默认行。
但我希望我选择的行下次设置为默认值。
该怎么办?提前致谢...
我有一个选择器视图
[picker selectRow:3 inComponent:0 animated:YES];
当我在视图中编写此代码时确实加载了,
此方法用于将第 3 行设置为选取器中的默认行。
但我希望我选择的行下次设置为默认值。
该怎么办?提前致谢...
像这样试试
NSUserDefaults *usrDefaults = [NSUserDefaults standardUserDefaults];
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
[usrDefaults setInteger:row forKey:@"Index"];
}
[pickerView selectRow:[[NSUserDefaults standardUserDefaults]integerForKey:@"Index"] inComponent:0 animated:NO];
为什么不将最后按下的行保存在变量中,然后下次加载?
就像是:
int myLastPressed;
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
myLastPressed = row;
}
您可以在代码中使用变量,也可以在 NSUSerDefaults 中使用全局变量
然后下一次:
[picker selectRow:myLastPressed inComponent:0 animated:YES];
这个问题非常不精确。你想让我做什么?
selectRow:inComponent:
如果您想要选择特定的行,这正是您必须调用的。如果你想为下一个 appstart 保存选中的状态,你可以在 UserDefaults 中保存当前选中的行(用 读取selectedRowInComponent
):[[NSUserdefault standardUserDefaults] saveInteger: selectedRow forKey @"savedSelectedPickerRowComponent1"]