在tableView中选择多个单元格并将另一个tableView单元格中的选定单元格显示为标签?

Posted

技术标签:

【中文标题】在tableView中选择多个单元格并将另一个tableView单元格中的选定单元格显示为标签?【英文标题】:Select Multiple cell in tableView and display the selected cell in another tableView Cell as a label? 【发布时间】:2013-02-20 08:35:47 【问题描述】:

您好,我正在创建一个与 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;
        
    
 
 

The sample image I want like this

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

【问题讨论】:

【参考方案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.repeatDays 传递给AddAlarmViewController

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);
            


【讨论】:

谢谢,我会检查并回复你 @Anil 你能给我任何样品吗?谢谢 @Anil 我已经试过了..我想要警报应用程序的样本。请传给我【参考方案2】:

无论何时用户选择一行保存操作,如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];



等等……

【讨论】:

以上是关于在tableView中选择多个单元格并将另一个tableView单元格中的选定单元格显示为标签?的主要内容,如果未能解决你的问题,请参考以下文章

选择 TableView 单元格时无法显示另一个 ViewController

iPhone 4.3 的 Tableview 中的多个单元格选择

TableView 单元格操作

在单元格内编辑textview时,将另一个单元格添加到tableview

完成在单元格内编辑 textview 后向 tableview 添加另一个单元格

直接进入另一个tableview的child segue?