细分不起作用

时间:2015-09-11 16:13:16

标签: ios objective-c uitableview segue

我们有两个CustomCell.We需要根据Segment点击进行更改 我们试过这个

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

    if(_Segment.selectedSegmentIndex==0)
    {
        static NSString * receivedAlertsIdentifier = @"DosageReport";
        DR = (DosageReport *)[tableView dequeueReusableCellWithIdentifier:receivedAlertsIdentifier];
        if (DR == nil)
        {
            NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"DosageReport" owner:self options:nil];
            DR = [nib objectAtIndex:0];
       }
        DR.DosageTaken.text=[DosageTakenArray objectAtIndex:indexPath.row];
       //etc
    }
    else if (_Segment.selectedSegmentIndex==1)
        {
            static NSString * receivedAlertsIdentifier = @"DispenserReport";
            DPR = (DispenserReport *)[tableView dequeueReusableCellWithIdentifier:receivedAlertsIdentifier];
            if (DPR == nil)
            {
                NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"DispenserReport" owner:self options:nil];
                DR = [nib objectAtIndex:0];
                //[cell addSubview:cell.GetImageShow];
            }
            DPR.Status.text=[Status objectAtIndex:indexPath.row];
            DPR.Date.text=[DispenserArray objectAtIndex:indexPath.row];

        [DPR.Status setTintColor:kColourSwitchTint];
        //ect
            return DPR;
         }

    return DPR;
}

我们尝试过这样但它总是只显示一个视图。请指导我们。我们的代码有什么问题  细分

- (IBAction)ChangedSegu:(id)sender {
         NSLog(@"Selectitmes");
        if(_Segment.selectedSegmentIndex == 0)
        {
            DR.hidden =NO;
            DPR.hidden = YES;

        }
        else if (_Segment.selectedSegmentIndex == 1)
        {
            DR.hidden=YES;
            DPR.hidden = NO;
        }
    }

1 个答案:

答案 0 :(得分:0)

在段更改结束时调用[self.tableView reloadData];(替换" tableView"对于你的tableView调用的任何内容)。

您可以通过非常简单的方式完成此操作。声明一个BOOL,用于告诉tableview要显示的单元格。在段更改时设置BOOL并调用[self.tableView reloadData];(替换" tableView"以及您调用的tableView)。

开启 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath,检查BOOL并设置相应的单元格。