Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iphone的tableview中隐藏自定义标题_Iphone_Objective C - Fatal编程技术网

在iphone的tableview中隐藏自定义标题

在iphone的tableview中隐藏自定义标题,iphone,objective-c,Iphone,Objective C,我正在类别表视图中使用自定义标题。所以,根据那个条件,我必须隐藏标题和它的细节。所以,我使用以下代码显示带有条件的标题 - (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UIView *aView =[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 30)]; if(section==0)

我正在类别表视图中使用自定义标题。所以,根据那个条件,我必须隐藏标题和它的细节。所以,我使用以下代码显示带有条件的标题

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIView *aView =[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 30)];


    if(section==0)
    {


        if(![appDelegate.purchase_requisitions_preference isEqualToString:@"0"] && ![appDelegate.purchase_requisitions_preference isEqualToString:@"null"])
        {

            UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];
            [btn setFrame:CGRectMake(0, 0, 320, 30)];
            btn.backgroundColor = [UIColor colorWithRed:39.0/255.0 green:131.0/255.0 blue:33.0/255.0 alpha:1.0f];
            [btn setTag:section+1];
            UILabel *label1  =  [[UILabel alloc]init];
            label1.frame     =  CGRectMake(20, 0, 320, 30);
            label1.backgroundColor = [UIColor clearColor];
            label1.textColor = [UIColor whiteColor];
            label1.font = [UIFont boldSystemFontOfSize:16];

            label1.text = @"Purchase Order Requisitions";
            [label1 setTag:section+1];
            [btn addSubview:label1];
            [aView addSubview:btn];
            [btn addTarget:self action:@selector(sectionTapped:) forControlEvents:UIControlEventTouchDown];

        }
        else
        {
            return nil;
        }


    }
    else if(section==1)
    {

        if(![appDelegate.hr_vacancies_preference isEqualToString:@"0"] && ![appDelegate.hr_vacancies_preference isEqualToString:@"null"])
        {

            UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];
            [btn setFrame:CGRectMake(0, 0, 320, 30)];
            btn.backgroundColor = [UIColor colorWithRed:39.0/255.0 green:131.0/255.0 blue:33.0/255.0 alpha:1.0f];
            [btn setTag:section+1];
            UILabel *label1  =  [[UILabel alloc]init];
            label1.frame     =  CGRectMake(20, 0, 320, 30);
            label1.backgroundColor = [UIColor clearColor];
            label1.textColor = [UIColor whiteColor];
            label1.font = [UIFont boldSystemFontOfSize:16];

            label1.text = @"Human Resource Vacancies";
            [label1 setTag:section+1];
            [btn addSubview:label1];
            [aView addSubview:btn];
            [btn addTarget:self action:@selector(sectionTapped:) forControlEvents:UIControlEventTouchDown];
        }
        else
        {
            return nil;
        }


    }
    else  if(section==2)
    {

        if(![appDelegate.hr_offers_preference isEqualToString:@"0"] && ![appDelegate.hr_offers_preference isEqualToString:@"null"])
        {
            NSLog(@"in offer");

            UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];
            [btn setFrame:CGRectMake(0, 0, 320, 30)];
            btn.backgroundColor = [UIColor colorWithRed:39.0/255.0 green:131.0/255.0 blue:33.0/255.0 alpha:1.0f];
            [btn setTag:section+1];
            UILabel *label1  =  [[UILabel alloc]init];
            label1.frame     =  CGRectMake(20, 0, 320, 30);
            label1.backgroundColor = [UIColor clearColor];
            label1.textColor = [UIColor whiteColor];
            label1.font = [UIFont boldSystemFontOfSize:16];

            label1.text = @"Human Resource Job Offers";
            [label1 setTag:section+1];
            [btn addSubview:label1];
            [aView addSubview:btn];
            [btn addTarget:self action:@selector(sectionTapped:) forControlEvents:UIControlEventTouchDown];

        }
        else
        {

            return nil;
        }

    }
    return aView;
}

如果我的条件为false,那么我想隐藏标题及其细节。其详细信息正在隐藏,但标题仍显示在那里。

heightForHeaderInSection:
方法中返回0,如果数据为零,则返回30(仅示例),如下图所示

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    if(section==0)
    {
        if(![appDelegate.purchase_requisitions_preference isEqualToString:@"0"] && ![appDelegate.purchase_requisitions_preference isEqualToString:@"null"])
        {
          return 30;// any height which you want        
        }
        else{
          return 0;
        }
    }
    // and so on
}

您需要设置标题部分的高度

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    if(section==0 | section==1 |section==2)
        return 30;
    else
        return 0;
}