Ios 使用AKPickerView保存选择
项目描述 我有一个左边的抽屉,里面有很多选择。其中之一是设置选项 设置选项中有一个表视图。我已经在一个牢房里埋了一个。AKPickerView让我可以选择用户希望在整个应用程序中使用的动画 但是,当选择动画并重新打开“设置”视图时,选择器会自动重置 下面是如何设置的 cellForRowAtIndexPath:Ios 使用AKPickerView保存选择,ios,uitableview,tableview,nsuserdefaults,picker,Ios,Uitableview,Tableview,Nsuserdefaults,Picker,项目描述 我有一个左边的抽屉,里面有很多选择。其中之一是设置选项 设置选项中有一个表视图。我已经在一个牢房里埋了一个。AKPickerView让我可以选择用户希望在整个应用程序中使用的动画 但是,当选择动画并重新打开“设置”视图时,选择器会自动重置 下面是如何设置的 cellForRowAtIndexPath: //Animation Picker self.pickerView = [[AKPickerView alloc] initWithFr
//Animation Picker
self.pickerView = [[AKPickerView alloc] initWithFrame:cell.bounds];
self.pickerView.delegate = self;
self.pickerView.dataSource = self;
self.pickerView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[cell addSubview:self.pickerView];
self.pickerView.font = [UIFont fontWithName:@"HelveticaNeue-Light" size:20];
self.pickerView.highlightedFont = [UIFont fontWithName:@"HelveticaNeue" size:20];
self.pickerView.interitemSpacing = 25.0;
self.pickerView.fisheyeFactor = 0.0002;
self.pickerView.pickerViewStyle = AKPickerViewStyle3D;
zoom = @"Zoom Out";
drop = @"Drop In";
push = @"Push";
self.titles = @[zoom, drop, push];
[self.pickerView reloadData];
[self.pickerView selectItem:[[NSUserDefaults standardUserDefaults] integerForKey:kAnimationTypeKey] animated:false];
计数、标题和选择:
- (NSUInteger)numberOfItemsInPickerView:(AKPickerView *)pickerView {
return [self.titles count];
}
- (NSString *)pickerView:(AKPickerView *)pickerView titleForItem:(NSInteger)item {
return self.titles[item];
}
- (void)pickerView:(AKPickerView *)pickerView didSelectItem:(NSInteger)item {
if ([self.titles[item] isEqual:zoom]) {
[[NSUserDefaults standardUserDefaults] setObject:@"Zoom Out" forKey:@"Zoom"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
else if ([self.titles[item] isEqual:drop]) {
[[NSUserDefaults standardUserDefaults] setObject:@"Drop In" forKey:@"Drop"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
else if ([self.titles[item] isEqual:push]) {
[[NSUserDefaults standardUserDefaults] setObject:@"Push" forKey:@"Push"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
NSLog(@"%@", self.titles[item]);
}
如何使选择器保存滚动位置或保存所选项目,使其在重新打开视图时保持不变
任何帮助都将不胜感激。如果您希望在使用应用程序时数据保持静止,并且当您关闭应用程序时,数据将不再重要,则应使用persistence()。但是,如果您希望它保留(数据),无论您应该使用什么核心数据。多亏了开发人员,我成功地使用了下面的代码: 我要做的是将其移动到viewDidLoad:
//Picker Titles
zoom = @"Zoom Out";
drop = @"Drop In";
push = @"Push";
self.titles = @[zoom, drop, push];
cellForRowAtIndexPath:
//Animation Picker
self.pickerView = [[AKPickerView alloc] initWithFrame:cell.bounds];
self.pickerView.delegate = self;
self.pickerView.dataSource = self;
self.pickerView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[cell addSubview:self.pickerView];
self.pickerView.font = [UIFont fontWithName:@"HelveticaNeue-Light" size:20];
self.pickerView.highlightedFont = [UIFont fontWithName:@"HelveticaNeue" size:20];
self.pickerView.interitemSpacing = 25.0;
self.pickerView.fisheyeFactor = 0.0002;
self.pickerView.pickerViewStyle = AKPickerViewStyle3D;
zoom = @"Zoom Out";
drop = @"Drop In";
push = @"Push";
self.titles = @[zoom, drop, push];
[self.pickerView reloadData];
[self.pickerView selectItem:[[NSUserDefaults standardUserDefaults] integerForKey:kAnimationTypeKey] animated:false];
和(AKPickerView*)pickerView didSelectItem:
[[NSUserDefaults standardUserDefaults] setInteger:item forKey:kAnimationTypeKey];
这让我重新加载视图并保留所选项目…到目前为止:)
现在我只需要弄清楚如何正确地保存每个键的用户默认值