我有一個完美的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