如何使用按钮使用两个表格视图

Posted

技术标签:

【中文标题】如何使用按钮使用两个表格视图【英文标题】:how to use two tableviews using button 【发布时间】:2014-10-29 13:38:04 【问题描述】:

我想使用两个表格视图,例如……..

我正在使用弹出框控制器

第一个 tableview 在 popover 控制器中 在那个弹出控制器中我有两个按钮(添加注释按钮和剩余按钮) 当我单击剩余按钮时,我将隐藏第一个 tableview 并启用第二个 tableview

第二个tableview cellforrowatindexpath 的ut 没有调用

只调用第一个表视图,不调用第二个表视图

我的代码是……..

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



    if (tableView==self.remainderTableView)//second Tbleview 

        static NSString *cellIdentifier=@"Celliden";
        UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
        if (cell==nil) 
           cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];
     

        cell.textLabel.text=@"hhh";
        return cell;

    
    else if (tableView==self.NotesandRemainderTable)//first Tableview 

        static NSString *cellIdentifier = @"bookingCell";

   CustomTableViewSwipeCell *cell = (CustomTableViewSwipeCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];

        NSString *note=[jsondata valueForKey:@"TeacherNotes"];

        NSLog(@"teacher notes %@",note);
        //    if (cell==nil) 
        //        cell=[[CustomTableViewSwipeCell alloc]init];
        //    
        // Add utility buttons

        NSMutableArray *rightUtilityButtons = [NSMutableArray new];


        [rightUtilityButtons sw_addUtilityButtonWithColor:
         [UIColor colorWithRed:1.0f green:0.231f blue:0.188 alpha:1.0f]
                                                    title:@"Delete"];

        _SubjectLabel.text=AppDel.sub;
        NSLog(@"the date %@",AppDel.date);
        _DateLabel.text=_dateToDisplay;
        if (indexPath.section==0)
        
            if (indexPath.row==0)
            
                cell.Noteslabel.text=note;



            


            return cell;

        
        if (indexPath.section==1)

            cell.Noteslabel.text=[_notesArray objectAtIndex:indexPath.row];

            //NSLog(@"notes index %@",[notesArray objectAtIndex:indexPath.row]);
            cell.rightUtilityButtons = rightUtilityButtons;
            cell.delegate=self;
            return cell;


        
    
          //cell.rightUtilityButtons = rightUtilityButtons;
   return nil;




- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

    if (tableView==self.NotesandRemainderTable) 
        if (section==0) 
            return 1;
        

        else if (section==1) 

            if (leanerNots==nil || [leanerNots isEqual:[NSNull null]]) 
                return 0;
            
            else

                return [_notesArray count];
            

        

    else
        return 3;
    
        return 0;

//这是我的剩余按钮代码......

 -(IBAction)addRemainderAction:(id)sender
    self.lineLabel.hidden=NO;
    self.remainderTableView.hidden=NO;
    self.addButtonObj.hidden=NO;
    //self.remainderTableView.frame=CGRectMake(0, 62, 300, 321);

    //[self.view addSubview:self.remainderTableView];
    self.NotesandRemainderTable.hidden=YES;
    self.notesBtnObj.hidden=YES;
    self.remainderBtnObj.hidden=YES;
     _SubjectLabel.hidden=YES;


任何人都可以帮助解决这个错误...我是 Xcode 的新手

【问题讨论】:

【参考方案1】:

您是否设置了第二个 tableview 的数据源和委托?

例如在 viewDidLoad 中:

self.remainderTableView.datasource = self;
self.remainderTableView.delegate = self;

并且您可能希望在显示之前重新加载您的表格视图。为此,请为您的第二个 tableview 使用以下代码

[self.remainderTableView reloadData];

【讨论】:

你也添加了reloadData方法吗?在 addRemainderAction【参考方案2】:

从这段代码中不能完全清楚您是否为UITableView 实例正确设置了delegatedataSource。如果你没有,那么这些委托方法将永远不会被调用。

无论如何,使用两个数据集而不是两个 tableView 可能会更好地处理这种情况。以与现在相同的方式实现cellForRowAtIndexPath,除了不是根据tableView 的值有条件地创建单元格,而是使用UIButton 的值。当 UITableViewDelegateUITableViewDataSource 方法允许您轻松地从不同的数据集中获取数据时,两个 UITableViews 在这种情况下似乎有点过头了。

【讨论】:

以上是关于如何使用按钮使用两个表格视图的主要内容,如果未能解决你的问题,请参考以下文章

如何使用按钮从集合视图(网格视图)切换到表格视图(列表视图)?

如何使用自定义单元格根据按钮值加载表格视图?

ui测试xcode,如何使用cellquery点击表格视图单元格按钮

如何创建动态表格视图我想知道

Swift 3:如何在表格视图的多个部分中使用操作按钮?

如何使用自动布局来调整表格视图单元格中的视图大小?