如何隐藏UITableViewcell中的所有节标题(分组样式)?

时间:2017-02-25 06:00:53

标签: ios objective-c uitableview height

我在UITableviewCell中有两个部分。我想隐藏那两节。 这是我的代码。

 -(CGFloat)tableView:(UITableView *)tableView  heightForHeaderInSection:(NSInteger)section
{
if (section == 0)
{
    return CGFLOAT_MIN;
}
else
{
    return 32.0f;
}
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return [storename2 count];
}

 - (NSString *)tableView:(UITableView *)tableViewtitleForHeaderInSection:(NSInteger)section
{
if (section == 0)
{
    return nil;
}
else
{
     return [storename2 objectAtIndex:section];
}
}

在Viewdidload中。

- (void)viewDidLoad 
{
[super viewDidLoad];
 self->CartTableview.contentInset = UIEdgeInsetsMake(-1.0f, 0.0f, 0.0f, 0.0);
}

但它唯一隐藏第一部分, 显示下面的图像我想这样(当卡是空的隐藏部分,当我添加产品到卡显示所有(两)部分。) 帮助我,

显示第1张图片。 当我添加产品到卡两个部分将显示,当我删除产品所有部分将隐藏。 在此先感谢。

enter image description here enter image description here

4 个答案:

答案 0 :(得分:1)

只需在heightForHeaderInSection tableview委托方法中返回0 ...

- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    // Specific section
    if (section == 0)
            return 0.0f;

    // all sections
    return 0;
}

答案 1 :(得分:0)

我认为你需要改变波纹管方法

-(CGFloat)tableView:(UITableView *)tableView  heightForHeaderInSection:(NSInteger)section
{
    return CGFLOAT_MIN;
}

并删除此方法

- (NSString *)tableView:(UITableView *)tableViewtitleForHeaderInSection:(NSInteger)section
{
   if (section == 0)
   {
     return nil;
   }
   else
   {
     return [storename2 objectAtIndex:section];
   }
}

这将隐藏您的tableview中的所有节标题。

答案 2 :(得分:0)

另外不要忘记设置UITableview Delegate&数据源。

- (void) viewDidLoad {
    [super viewDidLoad];
     self.tableView.contentInset = UIEdgeInsetsMake(-1.0f, 0.0f, 0.0f, 0.0);
}

- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    // Specific section
    if (section == 0)
            return 0.0f;

    // all sections
    return 0;
}

- (NSString*) tableView:(UITableView *) tableView titleForHeaderInSection:(NSInteger)section
{   // Specific section
    if (section == 0) {
        return nil;
    } else {
    // all sections
        // return some string here ...
    return nil;
    }
}

答案 3 :(得分:0)

使用开关盒来处理多个截面高度。

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {

    let headerHeight: CGFloat

    switch section {

    case 0:
        // first section for test - set value for height
        headerHeight = 0

    default:
        // other Sections - set value for height
        headerHeight = 0
    }

    return headerHeight
}