0

您好我正在创建一个与 iOS 默认警报相关的应用程序。我在 tableView 中选择多个单元格。如果我单击后退按钮,选定的单元格将在 tableViewCell 中显示为另一个视图中的标签。我正在使用故事板。这该怎么做?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *thisCell = [tableView cellForRowAtIndexPath:indexPath];
    if (thisCell.accessoryType == UITableViewCellAccessoryNone) {
       thisCell.accessoryType = UITableViewCellAccessoryCheckmark;
       [myIndexArray addObject:[NSString stringWithFormat:@"%d",indexPath.row]];
}
else
{
    thisCell.accessoryType = UITableViewCellAccessoryNone;
    for(int i=0; i<myIndexArray.count; i++)
    {
        if([[myIndexArray objectAtIndex:i]intValue]== indexPath.row)
        {
            [myIndexArray removeObjectAtIndex:i];
            break;
        }
    }
 }
 }

我想要这样的示例图像

我想要一个类似重复视图的东西,然后按返回按钮,选定的单元格显示在重复 tableViewCell 中。

4

2 回答 2

1

我在我的应用程序中做了同样的事情。我可以帮助你...
RepeatDayViewController

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
   UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

  if (UITableViewCellAccessoryNone == cell.accessoryType ) 
   {

    cell.accessoryType = UITableViewCellAccessoryCheckmark;
    NSNumber *dayNumber = [NSNumber numberWithInteger:indexPath.row];
    [self.repeatDays addObject:dayNumber];
   }
  else
  {
    cell.accessoryType = UITableViewCellAccessoryNone;
    NSNumber *dayNumber = [NSNumber numberWithInteger:indexPath.row];
    [self.repeatDays removeObject:dayNumber];

   }
}

我正在传递self.repeatDaysAddAlarmViewController


AddAlarmViewController
我有一个这样的数组

 _days = [[NSArray alloc ]initWithObjects:@"Sun",@"Mon",@"Tue",@"Wed",@"Thu",@"Fri",@"Sat",nil];


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

         if ([self.repeatDays count]) 
            {
                NSMutableArray *repeatDays = [NSMutableArray array]; 

                for (NSNumber *dayNumber in self.repeatDays) 
                {

                    [repeatDays addObject:[_days objectAtIndex:[dayNumber integerValue]]];
                }
                NSString *repeatLabel = [repeatDays componentsJoinedByString:@" "];
                cell.detailTextLabel.text = repeatLabel;

            }
            else
            {
                cell.detailTextLabel.text = NSLocalizedString(@"Never",nil);
            }

}
于 2013-02-20T08:56:07.753 回答
0

用户在哪里选择一行保存操作,例如NSUserDefaults

在里面

-(void)viewDidAppear:(BOOL)animated{


 UITableViewCell*   testCell = [azanTableview cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];

if ([[NSUserDefaults standardUserDefaults]boolForKey:@"testCell"]==YES) {
    testCell.accessoryType = UITableViewCellAccessoryCheckmark;
    testCell .textLabel.textColor = [UIColor colorWithRed:0.22 green:0.33 blue:0.53 alpha:1.0];
}

}

等等...

于 2013-02-20T08:41:51.457 回答