我们有两个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;
}
}
答案 0 :(得分:0)
在段更改结束时调用[self.tableView reloadData];
(替换" tableView"对于你的tableView调用的任何内容)。
您可以通过非常简单的方式完成此操作。声明一个BOOL
,用于告诉tableview要显示的单元格。在段更改时设置BOOL并调用[self.tableView reloadData];
(替换" tableView"以及您调用的tableView)。
开启 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
,检查BOOL
并设置相应的单元格。