是否可以使用自动布局获取动态表视图部分标题高度?

2023-12-07

iOS 8 中的新增功能,您只需设置估计行高即可获得 100% 动态表格视图单元格,然后使用自动布局在单元格中布局元素。如果内容的高度增加,单元格的高度也会增加。这非常有用,我想知道表视图中的节标题是否可以实现相同的功能?

例如,可以创建一个UIView in tableView:viewForHeaderInSection:, add a UILabel子视图,为视图指定标签的自动布局约束,并增加视图的高度以适应标签的内容,而无需实现tableView:heightForHeaderInSection:?

的文档viewForHeaderInSection状态:“只有当 tableView:heightForHeaderInSection: 也实现时,此方法才能正常工作。”我还没有听说 iOS 8 是否有任何改变。

如果做不到这一点,模仿这种行为的最佳方法是什么?


这个有可能。它是与 iOS 8 中引入的动态单元格高度一起推出的新功能。

为此,请对节标题高度使用自动尺寸标注,如果需要,您可以提供估计的节标题高度。当选择表视图时或以编程方式可以在 Interface Builder 中完成此操作:

Table view configuration in storyboard

tableView.sectionHeaderHeight = UITableView.automaticDimension
tableView.estimatedSectionHeaderHeight = 38

//You can use tableView(_:heightForHeaderInSection:) and tableView(_:estimatedHeightForHeaderInSection:)
//if you need to support different types of headers per section

然后实施tableView(_:viewForHeaderInSection:)并使用自动布局根据需要约束视图。确保完全约束UITableViewHeaderFooterView's contentView,尤其是从上到下,因此高度可以由约束确定。就是这样!

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {    
    let headerView = UITableViewHeaderFooterView()
    headerView.translatesAutoresizingMaskIntoConstraints = false
    headerView.backgroundView = {
        let view = UIView()
        view.backgroundColor = myCustomColor
        return view
    }()

    let headerLabel = UILabel()
    headerLabel.translatesAutoresizingMaskIntoConstraints = false
    headerLabel.text = "Hello World"
    headerView.contentView.addSubview(headerLabel)
    
    NSLayoutConstraint.activate([
        headerLabel.leadingAnchor.constraint(equalTo: headerView.contentView.leadingAnchor, constant: 16),
        headerLabel.trailingAnchor.constraint(equalTo: headerView.contentView.trailingAnchor, constant: -16),
        headerLabel.topAnchor.constraint(equalTo: headerView.contentView.topAnchor, constant: 12),
        headerLabel.bottomAnchor.constraint(equalTo: headerView.contentView.bottomAnchor, constant: -12)
    ])
    
    return headerView
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以使用自动布局获取动态表视图部分标题高度? 的相关文章

  • 符号化 iPad 崩溃日志后回溯仍然不可读

    我有这些崩溃日志 在我将它们放入管理器中后 会自动进行符号化 但结果始终相同 iOS 调用得到符号化 而我的应用程序调用则没有 我尝试将 Dym 和应用程序文件复制到同一文件夹中 删除并再次复制回来 没有任何帮助 知道发生了什么事吗 所以我
  • 带有 Retina-Tiles 的 MKTileOverlay

    我在 MKMapKit 中加载 512x512px 图块时遇到问题 服务器提供 512x512 jpeg 图块 我在 MKMapView 中找不到自定义视网膜图块的任何解决方案或示例实现 我做什么 当我将它们加载到 MKMapView 中时
  • 自定义信息窗口上的按钮未接收 ios 中的操作

    我在 iOS 应用程序中使用 Google 地图 并实现了一个自定义信息窗口来显示标记的标题 现在 我在该自定义信息窗口上添加了一个按钮 但我的问题是按钮操作方法没有被调用 自定义信息窗口 h import
  • iOS 上 Safari 中的 shift 键

    有没有办法在javascript中判断手机键盘上是否按下了shift键 并将其与大写锁定 按两次shift键 区分开来 一些事实 首先 让我们看一下有关 iOS 键盘的一些事实 我假设您已经知道了 当您进入键盘模式时 shift键始终处于激
  • 在 iOS 7 中查看 Core Data 创建的 sqlite 文件时出现问题

    当我尝试访问由核心数据创建的数据库文件时遇到问题 DB 文件位于 Documents 文件夹中 我已将其复制到桌面并使用 Firefox 插件打开它 Hello sqlite文件不包含任何行我有使用核心数据插入值 我正在使用 iOS 7 模
  • 如何从 Xcode 4.5 卸载 iOS 5.0 模拟器

    我已经安装了 Xcode 4 5 由于我编写应用程序是为了好玩 我不打算支持旧版 iOS 版本 并且为了节省 500 GB iMac 上的空间 是否有办法删除它 尝试从 Xcode 包中支持的平台中删除 iPhone iPhoneSimul
  • 更改目录时 Gitlab CI 运行程序作业失败退出状态 1

    我正在使用我的个人机器作为使用 Fastlane 的 iOS 项目的运行程序 这主要是因为共享运行器没有为 iOS 设置 因为它们没有安装 Xcode 更改目录时我的作业立即失败 它是一个 shell 运行程序 根本没有其他自定义配置 有什
  • 如何将 NSMutableArray 添加到 NSMutableArray Objective-c

    我正在从 Java 切换到 Objective c 但遇到了一些困难 我已经搜索过这个问题但没有取得太大成功 我有一个存储 NSMutableArrays 的 NSMutableArray 如何向数组添加数组 您可以在数组中存储对另一个数组
  • 使用 JSONKit 解析 JSON 文件

    我正在构建一个音叉应用程序 货叉应允许最多 12 个预设节距 此外 我希望允许用户选择一个主题 每个主题都会加载一组预设 不必使用所有预设 我的配置文件看起来像这样 theme A3 comment An octave below conc
  • iPhone 的翻译器?

    我对为 iPhone 制作一个解释器很感兴趣 这将是一个实验性的想法 但可能会很棒 我喜欢让我自 己的语言适合移动计算和数学的想法 我查阅了很多资料 发现有关 iPhone 上的口译员的信息很复杂 苹果会允许什么 我见过这个应用程序 这是一
  • 在 Swift 中的 For 循环中更改对象的属性

    我创建了一个名为 ShoppingList 的简单结构 struct ShoppingList var shoppingListId NSNumber var title String var groceryItems GroceryIte
  • Grand Central Dispatch (GCD) 调度源标志

    我最近不再使用 to GCD 调度来源 https developer apple com documentation dispatch 1385630 dispatch source create监视文件更改 效果很好 API 也变得更加
  • 使用javascript以编程方式触发iOS safari中的复制菜单?

    我正在尝试实现一种用户友好的方式 将一些文本从文本输入字段复制到 iOS Safari 上的剪贴板 我知道无法在这个平台上以编程方式完成此操作 但我希望能够尽可能地指导用户体验 在 iOS Safari 上 当用户手动突出显示某些文本时 会
  • iOS绘图3D图形库[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在搜索一个可以帮助我绘制 3D 图表的库 我想要类似的东西这一页 http www math uri edu bkaskosz fla
  • UITableViewCell 内嵌套 UIStackView 内的 UILabel 有时会被截断

    我的一个表设置中有一个表视图单元格 其中包含以下视图层次结构 外部水平 stackview 固定到单元格内容视图的尾部 前部 底部和顶部边缘 右侧标签固定到其父 stackViewHackView 的尾部 前部 底部和顶部边缘 在我的控制器
  • 使用未声明的类型“对象”

    这太奇怪了 通常我可以理解未声明的类 但这是声称 Object 类本身未声明 NSObject 可以工作 但我的项目设置方式我需要它是一个纯 Swift 对象 我的类标题如下所示 import UIKit import Foundation
  • AdMob 和 DFP 广告联盟之间的区别?

    我正在尝试在我的 iOS 应用程序上显示横幅广告和插页式广告 但现在我对广告网络感到困惑 AdMob 与 DFP 有何不同 哪一种更适合投放广告 有人可以提供帮助吗 提前致谢 AdMob 是一个广告网络 作为发布商 您可以通过展示从网络投放
  • 找不到 Cocoa/Cocoa.h 文件

    我在用XMPPFramework在我的应用程序中 我已将 Cocoa Cocoa h 导入到我的 m 文件中 但是当我构建项目时Xcode显示错误 错误 未找到 Cocoa Cocoa h 文件 我该如何解决这个错误 如果您正在为 iOS
  • iOS:如何创建核心数据库的备份副本?以及如何导出/导入该副本?

    我想为我的应用程序的用户提供创建核心数据数据库备份的可能性 特别是在他切换到新设备等情况下 我该怎么做呢 特别是如何重新导入该文件 我的意思是 假设他制作了数据库的备份副本 然后更改了大量内容并想要重置为以前保存的备份副本 我该怎么做呢 T
  • 具有隐式授权的 OAuth 应用程序中的客户端模拟

    来自 OAuth 草案 隐式section https datatracker ietf org doc html draft ietf oauth v2 31 section 1 3 2 在隐式授权流程期间发出访问令牌时 授权服务器不对客

随机推荐

  • ColdFusion 10 中的 PUT 请求问题

    在使用 API 时 我需要制作一个PUT对 URL 的请求以及一些参数需要作为 POST 参数传递 我在本地创建了 2 个文件 Calling cfm 和 caller cfm 来测试 cfhttpPUT要求 但每次都会抛出错误The re
  • Objective-C 中引用传递的使用

    查看 JSON Framework 源代码 它在许多解析器方法签名中大量使用了按引用传递 IE interface SBJsonParser BOOL scanValue NSObject o BOOL scanRestOfArray NS
  • jQuery.draggable() - 单击按钮时恢复

    我有一些可拖动的 可丢弃的我的页面上的元素 其中有accept特性 目前我的代码设置如下 answer answer draggable revert invalid snap graph graph graph droppable acc
  • 如何使循环计数器不大于最终值?

    所以示例循环 do i 1 1 print i enddo print i 给我2作为最终值i 如何在 Windows 上设置 Intel Fortran for Visual Studio 以获得最终值1 for i 这就是 Fortra
  • 如何在 bash 脚本中有条件地添加额外参数?

    有一个调用另一个程序的脚本 以下是program sh 它可能看起来毫无意义 但我省略了很多细节 假设我想坚持原样的结构 usr bin env bash function run this usr bin foo A B C run th
  • JSON 对象的 Java 表示

    我正在尝试反序列化以下字符串 我对java有点陌生 我无法让它在我的一生中工作 我现在只想解码对象中的两个字符串 下面是我的 JSON 和 Java 类 我得到的结果变量正常 result true recentlyMarkedTerrit
  • Ionic 2,在离子段中使用谷歌地图

    我有一个小问题 Google 地图未显示在 ionic 2 分段中 但显示在分段之外 我正在使用以下代码 div div div div div div 我尝试过以下解决方案但没有成功 在外部 div 上使用 100 的高度和宽度 在地图加
  • Mono 2.4、AutoHosting 和 MVC

    mod mono 的 AutoHosting 可以修改为支持 ASP NET 吗 ATM机实际上不起作用 Link 有效 但运行时完全忽略 Global asax 并且不遵循路由约定 Mono 中 AutoHosting 的目的是通过减少配
  • 在视图控制器之间使用委托传递数据,无需任何导航控制器连接

    有许多在两个视图控制器之间传递数据的示例 其中一个视图控制器导航到另一个视图控制器 但是是否可以使用自定义协议和委托在未通过导航控制器连接的视图控制器之间传递数据 因此 一个例子是 三个视图控制器是 A B C A导航到B and B导航到
  • BigQuery 不处理带有分区列的毫秒时间戳

    我有一个 unix 时间戳列 在我的 csv 文件中以毫秒表示 现在 当我在 bigQuery 表中插入这些数据并查询它时 我收到此错误 bigQuery 不支持毫秒时间戳 现在我想将此列作为分区列 我有几个问题 1 即使我将其保存为int
  • 使用 Discord.js 获取所有公会 ID

    所以我想从我的机器人所在的服务器获取每个 ID 请以最好的方式列出一个列表 这样我就可以得到一个又一个的 ID 因为我的前缀系统需要它们 我尝试了很多设计 但效果都不理想 您可以使用Collection map to map Client
  • d3JS:从 CSV 绘制线段

    在 d3Js 中 如何从 tsv 文件中绘制基本线段 假设文件在一行数据中声明 x1 y1 x2 y2 我想绘制两条线段 如下面的数据所示 x0 y0 x1 y1 weight 0 5 0 5 0 2 0 2 2 0 25 0 35 0 7
  • 使用 IDE 时从 Powershell 调用第 3 方可执行文件时出错

    我有一个使用 du exe 的 PowerShell 脚本 磁盘使用情况最初来自 Sysinternals 来计算目录的大小 如果我跑du c Backup在控制台中 它按预期工作 但在 ISE 或 PowerGui 中运行的同一行代码给出
  • 股票代码查找 API [已关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 是否有某种 API 只提供
  • 从 IOS 将图像发送到 asp.net Web 服务

    在我的 IOS 应用程序中 我需要将图像发送到 ASP NET Web 服务 我正在尝试以字节形式存储图像 然后在服务器端将其转换回图像形式 现在我正在使用这些行将图像转换为 IOS 中的字节 NSData imageData UIImag
  • C++ 中无法识别 foreach

    在我的 cs106b 书中 我们使用表达式 foreach 来遍历 Map 中的单词列表 我实现了代码 然后把头撞在墙上 面对神秘的错误 这是代码 void DisplayWordCounts Map
  • Electron 回调只能调用一次

    我有一个简单的电子应用程序 它包含一个提示输入用户名和密码的网络应用程序 问题 1 当用户输入错误的凭据并且authWindow再次出现时 使用正确的凭据 不会发生第二次登录 2 当用户两次输入错误的凭据时 authWindow不再出现 任
  • 将解析后的数据提供给 RKMapperOperation 会抛出 NSUnknownKeyException

    请参阅我的其他问题了解背景 RestKit的动态映射能解决这个复杂的JSON映射吗 由于服务器构造我需要转换成的 json 数据的方式NSManagedObjects 我传递解析后的 json 来执行直接对象映射 如下所示 RKObject
  • 如何在jquery中单击时将轮播项目移动到中间

    如何使旋转木马将我点击到中间的项目居中 我到处寻找答案 但它们都不是直接的答案 有人可以帮助我吗 这是我到目前为止所做的 http jsfiddle net sp9Jv HTML div div a href class prev prev
  • 是否可以使用自动布局获取动态表视图部分标题高度?

    iOS 8 中的新增功能 您只需设置估计行高即可获得 100 动态表格视图单元格 然后使用自动布局在单元格中布局元素 如果内容的高度增加 单元格的高度也会增加 这非常有用 我想知道表视图中的节标题是否可以实现相同的功能 例如 可以创建一个U