当前位置: 首页 > 知识库问答 >
问题:

基于标题文本高度的UITableView部分的页眉/页脚高度

步博厚
2023-03-14

我想知道是否有可能使UITableView的一部分的页眉/页脚的高度等于页眉/页脚标题文本的高度。任何提示都很好!

注意:我的TableView的某些部分可能没有页眉/页脚,在这种情况下,只会在部分之间填充,因为在这种情况下,“页眉高度/页脚标题高度”将为零。

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    return headerTitleHeight + padding;
}

-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
    return footerTitleHeight + padding;
}

共有3个答案

史商震
2023-03-14

您可以自动调整尺寸,但必须具有估计的大小。它以相同的方式适用于页脚和页眉。

func tableView(_ tableView: UITableView, estimatedHeightForFooterInSection section: Int) -> CGFloat {
    return 300
}

func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    return UITableViewAutomaticDimension
}
慕俊语
2023-03-14

你可以

return UITableViewAutomaticDimension;

编辑:哎呀,忽略下面,看下面评论。

return UITableViewAutomaticDimension + padding;
欧阳学真
2023-03-14
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 
{

    NSString *myHeader = [sectionsArray objectAtIndex:section];
    CGSize maxSize = CGSizeMake(320, 999999.0);
    int height = 0;

    NSDictionary *attributesDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
                                          font, NSFontAttributeName,
                                          nil];

    if (IS_IOS_6) //Macro i made for if iOS 6
    {
        CGSize size = [myHeader sizeWithFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:(15)]
                             constrainedToSize:maxSize
                                 lineBreakMode:NSLineBreakByWordWrapping];
        height = size.height;
    }
    else // IOS 7 , Attributes
    {
        CGRect frame = [myHeader boundingRectWithSize:maxSize
                                                options:NSStringDrawingUsesLineFragmentOrigin
                                             attributes:attributesDictionary
                                                context:nil];
        height = frame.size.height;
    }

    return height+5;
}
 类似资料:
  • 问题内容: 从我的研究来看,这似乎是一个绝对经典的CSS问题,但我找不到确切的答案-所以是StackOverflow。 如何将内容div设置为占主体高度的100%,减去固定高度的页眉和页脚所占的高度? 我想使用纯CSS,并且答案在所有浏览器中都是防弹的。 问题答案: 这个版本将在所有最新的浏览器工作,IE8,如果你有Modernizr的脚本(如果不只是改变和成S):

  • 问题内容: 有什么方法可以使用CSS将页脚粘贴到浏览器屏幕的底部或紧随内容之后(取决于哪个较长), 而无需 提前知道页脚的大小? 现在,我在容器中使用绝对位置,该容器中放置页脚,并且容器的最小高度为100%,但是如果更改页脚,我必须更改容器底部的填充以匹配其高度。 问题答案: 摘要: 对于具有页眉,内容区域和页脚的网站: 组 将您的身体(或包装div)设置为 将页眉,页脚和内容区域设置为。给您的页

  • 我想要一个: > 在页面底部,即使 在身体的正常流动中,在

  • 我有用自定义单元格(继承自)填充的用户界面视图,每个单元格都包含一个,该视图根据其内容自动调整大小。事情是这样的,如何根据内容(可变视图)更改 单元格的高度。 该解决方案必须是动态的,因为用于填充< code>UIWebViews的HTML是从不断变化的提要中解析的。 我觉得我需要使用委托方法 中更改单元格的高度吗? 任何帮助都是伟大的。谢谢 两年多前我问过这个问题。通过介绍自动布局,可以找到iO

  • 问题内容: 我需要保持页脚在底部,但其高度可变,因此主要解决方案不适合我… 任何人都可以使用灵活的页脚解决方案? 问题答案: :解决此布局问题的现代方法是使用CSS模型。所有主流浏览器和IE11 +均支持该功能。 这是使用带有的s 的灵活高度的粘性页脚的解决方案: 需要注意的是CSS是设计用于布局 文档的 ,而不是Web应用程序屏幕的。CSS display:table属性虽然非常有效,并且在所有

  • 问题内容: 我最近一直在研究CSS布局,该布局将显示固定宽度(最小宽度,最好可扩展)的单个居中列,占据整个高度(减去页眉和页脚)。 有什么建议吗?我尝试过这里发布的几种方法,但是没有一种符合我的标准。另外,我不想为此使用JS,因此它必须是纯CSS。 我不是专家,所以我不知道采用哪种方法: 三列,每边的边距减去中心列宽度的一半再加上一个假的中心列,以拉伸到100%的高度?我有点不喜欢这个主意,因为我