有没有更好的方法来确定 UITableViewCell 的正确大小?

2023-11-21

我有一个 UITableView 单元格,该单元格的大小将根据其内容(可能是几行文本)而变化。

既然看起来 heightForRowAtIndexPath 被调用before我布局单元格,我只是通过在文本字符串上调用 [NSString sizeWithFont] 来猜测正确的高度。有没有更好的方法来设置高度after我已经在单元格中布置了文本,并且知道它的大小到底应该是多少?


这听起来很愚蠢,但是......呃......“在退出 heightForRowAtIndexPath 之前布局你的单元格”;)

不过,说真的——操作系统只有在需要时才会调用它(例如:它将创建单元格并将其显示在屏幕上),因此布置它并准备显示并不是浪费精力。

注意,你这样做not必须按逻辑单独进行布局。只需在 heightForRowAtIndexPath 例程中调用 [self prepLayoutForCellAtIndex:index] 即可。

如果数据是静态的,您可以创建一个高度表并缓存信息。

if (0 == heightTable[index]) {
    heightTable[index] = [self prepLayoutForCellAtIndex:index];
}
return (heightTable[index]);

哎呀,即使数据发生变化,您也可以在更改数据的方法中重新计算表值,或者清除为 0,以便下次需要时重新计算。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有更好的方法来确定 UITableViewCell 的正确大小? 的相关文章

  • 如何更改 iOS 5 中 UITabBarItem 中文本的颜色

    iOS 5 中有更多外观控制 我们如何更改 UITabBarItem 文本颜色 从默认白色变为其他颜色 编辑 工作解决方案 UITabBarItem appearance setTitleTextAttributes NSDictionar
  • UIToolBar 位于 UITabBar 之上?

    在 照片 应用程序的 相机胶卷 部分中 您可以单击右上角的按钮来编辑照片 这将底部选项卡栏替换为 UIToolBar 中的三个新按钮 我想做类似的事情 但我无法让我的 UIToolBar 位于选项卡栏的顶部 有没有办法指定图层顺序 或者我需
  • 以点值检测 iPhone 6/6+ 屏幕尺寸

    鉴于新发布的 iPhone 6屏幕尺寸 http www apple com iphone compare iPhone 6 1334h 750w 2x in points 667h 375w iPhone 6 1920 1080 3x i
  • 无法将 NSMutableDictionary 发送到另一个类

    All 我试图将 NSMutableDictionary 响应 发送到我的另一个类 或者更确切地说 让另一个类从这个类中提取字典 当另一个类使用 getResponse 方法时 它返回 null 我附加的代码是我的 XML 解析器 它将我需
  • 如何让 iPhone 屏幕变暗

    我的 iPhone 屏幕上有一个刷新按钮 可以刷新当前视图中的表格 屏幕刷新得很漂亮 但是有没有办法让屏幕变暗 然后在表格刷新后再次变亮 您可以在要调暗的视图上放置一个带有黑色背景的非不透明视图 默认情况下 其 alpha 值为 0 因此是
  • 如何使 UITableView 可重新排列?

    我正在尝试使我的 UITableView 可编辑 以便您可以移动单元格 现在 当我单击编辑按钮时 它只允许我删除 但不能重新排列 我有的方法有 Code BOOL tableView UITableView tableView canEdi
  • 特别分发:应用程序安装失败

    我已经为我尝试分发的应用程序创建了一个临时存档和一个 ipa 文件 我还创建了一个分发配置文件 其中包含我计划将应用程序分发到的设备的 UDID 当我将 ipa 和 mobileprovision 文件拖到 iTunes 中并尝试将应用程序
  • 帮助在 UIWebView 中使用 Javascript 代码

    我想在 webView 中运行以下代码 以便内容可编辑 javascript document body contentEditable true document designMode on void 0 到目前为止 我已经尝试过这个 v
  • iOS 低内存崩溃,但内存使用率非常低

    这已经困扰我很长时间了 我的应用程序运行占用大约 2 74MB 内存 没关系 但当它创建 UIWebView 时 它会增加到大约 5 87MB 并继续崩溃 这些是在我的第一代 iPad 上运行时仪器中的实时字节下给出的值 我找不到崩溃日志
  • iOS 5 UIView drawRect 覆盖在设备上不起作用

    我正在准备在 iOS 5 GM 上发布我的 iPhone 应用程序 并遇到了 UIView 的错误 当我在子类上重写 drawRect 方法时 模拟器会显示所需的结果 但当我尝试在实际设备上测试时 drawRect 重写根本没有任何效果 我
  • 从本机 iPhone 应用程序访问 UIWebView 本地存储数据

    我正在编写一个包含 UIWebView 组件的本机 iPhone 应用程序 该组件访问互联网 Web 应用程序 并且该 Web 应用程序使用 HTML5 本地存储离线存储数据 是否可以从本机应用程序访问此本地存储数据 我想做类似的事情 简而
  • iPhone 的翻译器?

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

    有没有办法检测 iPhone 的屏幕是打开还是关闭 例如 当按下手机的屏幕锁定按钮时 我一直在使用 void applicationWillResignActive UIApplication application 为此类事件做准备 在大
  • iOS 7 NS 单线程安全合并冲突

    重新排序两行后 在单线程应用程序上保存简单的数据时遇到问题 我已经成功地简化了编码以重现错误 并且希望其他人尝试这一点时得到第二个意见 这是一次健全性检查 因为我怀疑 iOS 7 引入的核心数据问题 而这在 iOS 6 中工作正常 首先 启
  • iPhone Dev:从子控制器和 TabBar 中的另一个控制器重新加载表视图的数据

    我正在实现一个笔记管理器应用程序 它在 tabBar 中有一个 tableView 其中显示其笔记的主要信息 访问一个注释时 您可以编辑其属性 在 tabBar 的一个按钮中 您可以选择注释在 tableView 中的显示方式 我遇到的问题
  • 使用标识符启动 iPhone 应用程序

    我正在尝试在我的应用程序中启动应用程序 例如 如果我按下 testApp1 中的按钮 它应该打开 testApp2 有没有办法用应用程序标识符来做到这一点 我听说过一种名为的未记录方法launchApplicationWithIdentif
  • 增加 iPhone 的推送通知徽章

    是否可以在收到通知时增加徽章值 或者我应该将计数作为有效负载发送吗 如果我每次都将徽章值发送为 1 那么如果应用程序未打开 我如何增加应用程序图标中的徽章值 我已经使用了这段代码 但不起作用 void application UIAppli
  • 使用ios sdk在youtube上上传视频的方法[重复]

    这个问题在这里已经有答案了 可能的重复 如何从 iOS 应用程序中将视频上传到 YouTube https stackoverflow com questions 3528568 how do i upload a video to you
  • 找不到 Cocoa/Cocoa.h 文件

    我在用XMPPFramework在我的应用程序中 我已将 Cocoa Cocoa h 导入到我的 m 文件中 但是当我构建项目时Xcode显示错误 错误 未找到 Cocoa Cocoa h 文件 我该如何解决这个错误 如果您正在为 iOS
  • 从应用程序内发送电子邮件中的图像和文本

    如何从我的应用程序内通过电子邮件发送图像和文本 表格数据形式 请大家帮忙并提出建议 谢谢 void sendMailWithImage UIImage image if MFMailComposeViewController canSend

随机推荐

  • 如何在 Watir 中获取 HTML 中具有相同属性的元素的数量?

    我有一个 HTML 文档 其中包含具有相同类名的元素 我可以对页面中的所有元素进行迭代 并将具有类名的元素存储在列表中 Watir 有没有更好的方法来获取具有相同类名的所有 HTML 元素的计数 这个问题XML 中具有相同属性的元素计数有点
  • 如何在方法中传输 Java List (Varargs) 的值?

    我有以下方法 public static List a getValuesExclusion A exclusion return Arrays stream values filter item gt item exclusion col
  • 如何为html类添加事件监听器?

    如果我有这样的 HTML a href class movieImg div class previewBulk div a a href class movieImg div class previewBulk div a 和 JavaS
  • 感知器中的阈值有什么意义?

    我很难看出阈值在单层感知器中的实际作用 无论阈值是多少 数据通常都是分离的 似乎较低的阈值可以更均匀地划分数据 这是它的用途吗 实际上 当您不使用偏差时 您只需设置阈值即可 否则 阈值为 0 请记住 单个神经元用超平面划分输入空间 好的 现
  • 修复自动完成模式和 linum 模式的烦恼

    我在用着auto complete mode我认为这太棒了 我也是的忠实粉丝linum mode但是当两者一起使用时 特别是当我在新的缓冲区 或行数很少的缓冲区 中工作时 我遇到了一个非常恼人的问题 基本上缓冲区的长度是 x 行 但是当自动
  • 在最坏的情况下二分搜索是否是最优的?

    在最坏的情况下二分搜索是否是最优的 我的老师是这么说的 但我找不到支持它的书 我们从一个有序数组开始 在最坏的情况下 该算法的最坏情况 任何算法总是会花费更多成对比较比二分查找 很多人表示这个 问题不清楚 对不起 所以输入是任何通用的排序数
  • Android:哪个线程调用.onSensorChanged?

    我读过一些关于哪个线程调用各种回调方法的讨论 例如与传感器相关的回调方法 大多数人声称 UI 线程调用回调 即使涉及单独的工作线程 我们确定吗 考虑这种情况 一个单独的类实现 Runnable 和 SensorListener UI 线程
  • Android JNI 在应用程序中检测到错误:调用 JNI GetMethodID 时出现未决异常

    我正在尝试用我的 android 项目运行 Googles OCR Tesseract 我已经使用 android ndk 编译了 tesseract 并且在尝试运行 android 项目后收到此错误 我的环境如下 安卓5 1 1 适用于
  • 无法识别JS服务器

    我试图为 Android 设置 React Native 当我最终尝试运行该应用程序时 反应本机运行 Android 我收到一条消息JS server not recognized continuing with build 构建已成功完成
  • WPF 列表框项和上下文菜单

    我有这样的代码
  • Python 海龟不透明度?

    只是想知道 是否可以用半透明墨水绘制 填充乌龟 就像是 turtle setfillopacity 50 Would set it to 50 transparency 运行Python 2 7 你可以通过这样做 import turtle
  • 如何从图像创建数据,例如 UCI 的“字母图像识别数据集”

    我使用 OpenCV 中的 letter regcog 示例 它使用 UCI 的数据集 其结构如下 Attribute Information 1 lettr capital letter 26 values from A to Z 2 x
  • 同步执行 Sequelize 查询

    我正在使用 Node js 和 Sequelize 带有 Postgres 后端 构建一个网站 我有一个查询返回许多带有外键的对象 并且我想将外键引用的对象列表传递给视图 在示例中 出勤包含黑客马拉松密钥 我想返回黑客马拉松列表 由于代码是
  • 无法使用 matplotlib.use('Agg'),图形始终显示在屏幕上

    我正在研究 matplotlib 不知道如何保存图形而不将其打印在屏幕上 所以我在网上做了一些研究 很多答案都说解决方案是 matplotlib use Agg 并且必须在导入 matplotlib pyplot 或 pylab 之前 然后
  • .NET 流、在对象之间传递流、最佳实践 (C#)

    我目前正在用 c 编写一个小玩具汇编程序 正在经历计算系统要素图书目录 顺便说一句 确实是一本好书 汇编器采用输入文件路径并删除垃圾 注释等 行 然后该文件被传递到解析器 最后传递到创建二进制代码的另一个模块 这并不太复杂 但我不想每次一个
  • 使用指针和比较器 C++ 的优先级队列

    我刚刚开始学习C 有一半的时间我不知道我在做什么 花几个小时在Google上搜索并盲目地将代码放入我的项目中 这可能是一个基本问题 但我似乎做不到把它做好 这是要求对于我的任务 我需要这些 在边缘类中 public bool operato
  • 如何将 Cocoa 应用程序设置为默认 Web 浏览器?

    如何将 Cocoa 应用程序设置为默认 Web 浏览器 我想创建一个当用户单击其他应用程序 邮件 iChat 等 中的 HTTP 或 HTTPS 链接时默认启动的应用程序 制作可充当默认网络浏览器的应用程序有四个步骤 前三个步骤允许您的应用
  • 如何将 Google 地图库与 Flutter Web 结合使用? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在将一个 flutter 移动项目移植到 flutter web 并且想知道如何将 google 地图库与 Flutter Web 一起使用 请
  • 如何使用 javascript 从字符串中删除 `//` ?

    如何去除 使用来自字符串的javascript var title 需要成为 var title A Survey of Applications of Identity Based Cryptography in Mobile Ad Ho
  • 有没有更好的方法来确定 UITableViewCell 的正确大小?

    我有一个 UITableView 单元格 该单元格的大小将根据其内容 可能是几行文本 而变化 既然看起来 heightForRowAtIndexPath 被调用before我布局单元格 我只是通过在文本字符串上调用 NSString siz