2012-02-18 15 views
0

表示するPDFを選択するためのUIPickerViewがあります。最後に選択したコンポーネントを保存したいので、アプリを終了するかデバイスを再起動すると、最後に選択したPDFが自動的に表示されます。私は2つのコンポーネントを持っているので、どのようにそれを行うことができるか知りたかった...ありがとう!起動時に最後に選択した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

関連する問題