2012-02-18 1 views
0

표시해야 할 PDF를 선택하기위한 UIPickerView가 있습니다. 마지막으로 선택한 구성 요소를 저장하고 싶습니다. 따라서 앱을 종료하거나 기기를 다시 시작하면 마지막으로 선택한 PDF가 자동으로 표시됩니다. 두 가지 구성 요소가 있으므로 어떻게 할 수 있는지 알고 싶습니다 ... 감사합니다!시작시 마지막으로 선택된 UIPickerView로드하기

답변

0

당신은 selectedRowInComponent ... 를 사용하여 NSUserDefaults에서 선택한 행을 저장하고 picker 사용을 selectRow:inComponent:animated:

EDIT 제시하면서 수 :이 같은

저장합니다. 나의 새로운 코드에서

int selectedRow = [picker selectedRowInComponent:componentNumber]; 
+0

보면 내가 뭘 잘못 했습니까 ... 그것을 편집? – AmiiQo

+0

NSLog (@ "% d", [[NSUserDefaults standardUserDefaults] integerForKey : key]); 이걸 didSelectRow에 넣고 가져오고있는 소리를 들으세요. – Aravindhan

+0

고마워, 나는 정말로 그것을 말하고 싶지 않지만 여전히 아무것도하지 않는다. 정말 이상하다! XCode는 여전히 NSLog 0을 반환합니다. – AmiiQo

0
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
{ 

    NSString *numberString = [array1 objectAtIndex:[_pickerView selectedRowInComponent:0]]; 
    NSString *letterString = [array2 objectAtIndex:[_pickerView selectedRowInComponent:1]]; 

    NSString *pathComponentString = [NSString stringWithFormat:@"Stundenplan_%@%@.pdf", numberString, letterString]; 
    stundenplan.scalesPageToFit = YES; 
    [stundenplan loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:pathComponentString]]]]; 
    NSInteger selectedRow = [_pickerView selectedRowInComponent:component]; 
    NSString *key = [NSString stringWithFormat:@"%@", @"picker"]; 
    [[NSUserDefaults standardUserDefaults] setInteger:selectedRow forKey:key]; 

} 

-(IBAction)showPicker:(id)sender 
{ 

    [pickerView selectRow:[[[NSUserDefaults standardUserDefaults] objectForKey:@"picker"] intValue] inComponent:0 animated:NO]; 
    self.pickerView.hidden = NO; 
    cancelbtn.enabled = NO; 
    cancelbar.hidden = NO; 

} 
+0

답변을 수정하십시오 코드를 읽을 수 있도록 포맷하십시오. – kleopatra

관련 문제