UItableview的UIsegment控件

时间:2016-01-26 14:23:56

标签: ios objective-c uitableview

我已经使用UItableview实现了UIsegment控件。我显示每个段的UItableview onclick,并在UITableview中显示json值。现在问题是在页面加载时无法显示值而不显示段。

UISegmentcontrol的功能:

-(void)valueChanged:(UISegmentedControl *)segment {

  if(segment.selectedSegmentIndex == 0) {

    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"viewcontroller" message:@"valuechanged segment" delegate:nil cancelButtonTitle:@"cancel" otherButtonTitles:@"ok", nil];
    [alert show];

    crList = [[NSArray alloc]initWithArray:rfcNumber];
    [_tableView reloadData];
    //action for the first button (All)
}else if(segment.selectedSegmentIndex == 1){

    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"viewcontroller2" message:@"valuechanged segment2" delegate:nil cancelButtonTitle:@"cancel" otherButtonTitles:@"ok", nil];
    [alert show];

    crList = [[NSArray alloc]initWithArray:approve];
    [_tableView reloadData];
    //action for the second button (Present)
}else if(segment.selectedSegmentIndex == 2){

    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"viewcontroller3" message:@"valuechanged segment3" delegate:nil cancelButtonTitle:@"cancel" otherButtonTitles:@"ok", nil];
    [alert show];

    crList = [[NSArray alloc]initWithArray:reject];
    [_tableView reloadData];
    //action for the third button (Missing)
  }
}

在cellForRowAtIndexPath中为

cell.textLabel.text = [crList objectAtIndex:indexPath.row];

只有在页面加载时才会获取数据,只有当页面加载时才选择第一段默认但不显示数据。

1 个答案:

答案 0 :(得分:0)

将任何细分作为默认细分,因为您在点击细分时填充数据源,这是第一次加载" crList"数组将为空,因此您不会看到以下任何数据是您可以尝试的解决方案:

viewdidLoad方法中的

具有以下代码行:

self.segmentedControl.selectedSegmentIndex = someDefaultIndex

其中" segmentedControl"将作为您的segmentcontrol和" someDefaultIndex"的参考。将是一些默认索引。