【问题标题】:Updating and saving multiple UISlider values displaying in UITableView in a Core Data app在 Core Data 应用程序的 UITableView 中更新和保存多个 UISlider 值
【发布时间】:2011-10-17 14:03:02
【问题描述】:

我是新手,所以对于我遇到的以下问题的任何建议将不胜感激。

我有一个应用程序,您可以在其中输入许多项目,然后在随后的表格视图中,它们将全部加载,我可以使用 uislider 为每个项目分配一个值。

如果我知道我将拥有的项目的确切数量,我知道如何跟踪和保存这些值,但鉴于我必须跟踪的 uislider 值的数量取决于输入的项目数量,我不知道该去哪里.

到目前为止,在我的 sliderValueChanged 方法中,我有以下内容可以让我跟踪每个 uislider 子视图:

- (IBAction)sliderChangedValues:(id)sender {
      UISlider *slider = (UISlider *)sender;
      CGPoint correctedPoint = 
      [slider convertPoint:slider.bounds.origin toView:self.tableView];    
      NSIndexPath *indexPath = 
      [self.tableView indexPathForRowAtPoint:correctedPoint];
      NSLog(@"Using slider in row %d", indexPath.row);
}

这是我用于加载单元格的 cellForRowAtIndexPath 方法:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath {   

Criteria *myCriteria = [criteriasRankingArray objectAtIndex:indexPath.row];


static NSString *CellIdentifier = @"CriteriaRankingCell";

OptionsDetailViewCell *cell = (OptionsDetailViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) {
    [self.cellNib instantiateWithOwner:self options:nil];
    cell = optionsCell;
    self.optionsCell = nil;

}

cell.criteriaRankSlider.minimumValue = 1.00;
cell.criteriaRankSlider.maximumValue = [criteriasRankingArray count];
cell.criteriaRankSlider.continuous = YES;


cell.criteriaNameLabel.text = [NSString stringWithFormat:@"%@", myCriteria.criteriaName];
cell.criteriaRankSlider.value = [myCriteria.criteriaRank floatValue];


return cell;
}

如何跟踪每个值,然后在哪里设置每个滑块值并保存到上下文?

【问题讨论】:

    标签: iphone core-data uitableview uislider


    【解决方案1】:

    你快到了。在您的 sliderChangedValues 方法中,添加以下内容:

    Criteria *myCriteria = [criteriasRankingArray objectAtIndex:indexPath.row];
    myCriteria.criteriaRank = [NSNumber numberWithFloat:slider.value];
    

    我不会在此方法中保存上下文,因为您已将滑块设置为连续,因此可能会触发大量保存消息。当用户离开视图或其他合适的点时保存它。

    【讨论】:

      猜你喜欢
      • 2013-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-07
      • 1970-01-01
      • 2012-03-10
      相关资源
      最近更新 更多