我有一个完美的uipickerview在一个完成和取消按钮的uipopover。当用户多次打开uipickerview时,我可以保存最后选定的行并将其显示为默认行。问题是,当用户注销并登录时,我想uipickerview重新开始,即,当我打开uipickerview并单击完成按钮(不选择任何行)时,我希望它与默认行即ie。 row0,但它显示注销前最后选定的行!我该如何解决这个问题?非常感谢。有没有办法清除uipickerview选择?
NSString *selectedType = @"ALL";
int rowselected = 0;
- (void)viewDidLoad
{
[super viewDidLoad];
rowselected = 0;
_typearray = [[NSArray alloc] initWithObjects:@"ALL", @"COACH", @"GROUP", @"PRIVATE", nil];
NSInteger lastrow =[[[NSUserDefaults standardUserDefaults] objectForKey:@"gueststyperow"] integerValue];
if(lastrow!=0)
[self.picktype selectRow:lastrow inComponent:0 animated:NO];
else
[self.picktype selectRow:0 inComponent:0 animated:NO];
}
// DONE按下按钮:
- (IBAction)doneButtonPress:(UIBarButtonItem *)sender {
NSLog(@"%@",_delegate);
NSNumber *temprow = [NSNumber numberWithInt:rowselected];
[[NSUserDefaults standardUserDefaults] setValue:temprow forKey:@"gueststyperow"];
[_delegate sendtype:selectedType];
}
// PICKERVIEW选择
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row
inComponent:(NSInteger)component{
rowselected = row;
selectedType = [_typearray objectAtIndex:row];
}
你尝试在'viewDidLoad'中设置pickerview为零吗? – CaptJak
谢谢@CaptJak ..你可以更具体地说明如何在代码中完成这个任务吗? – kate
CaptKack说什么。释放,设置为零,然后创建一个新的选择器视图。 – rocky