gpt4 book ai didi

字体更改时自动调整 uiLabel 和 uiTableViewCell 大小的 iphone 代码?

转载 作者:行者123 更新时间:2023-11-28 19:24:23 24 4
gpt4 key购买 nike

谁能总结一下有助于解决这个问题的 Objective-C 代码的关键部分。

目标 - 在用户更改字体大小后自动调整 UITableView 的大小。因此,如果用户增加或减少字体,(a) uiLabel 高度应该改变以确保它们很好地包含文本,并且 (b) uiTableViewCell 高度也应该调整。

假设是:

  1. UITableView 已经通过扩展创建自定义单元格 View -即在 NIB 中创建一个新 View 内容 View 的表单UITableView 单元格
  2. 每个习俗单元格有四个 UILabel,形成一个2 x 2 模式的 UILabels - 即两个顶线和底线两个
  3. 当用户增加字体时的水平间距UILabels 将保持不变,但是标签高度会改变

所以我假设我会包括挑战/问题(并希望有人可以发布一些示例代码来回答)

  1. 这里的起点是一个已经在 InterfaceBuilder 中布局的自定义 UITableViewCell 可以吗? (或者解决方案是否要求它完全以编程方式构建)?
  2. 如何计算标签的高度?这只是使用 NSString 方法“sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:”,我是否需要添加边距等?
  3. 如何以编程方式动态增加标签的高度 - 您使用哪种方法以及如何更改高度本身
  4. 如何确保当顶部的 UILabel 扩展和增长时,它会自动下推第二行的 UILabel?这是默认情况下发生的,还是您必须使用特定的属性/设置来确保发生这种情况。
  5. 如何在发生上述情况后自动增加 TableViewcell 的高度。在哪种方法中执行此操作,以及如何以编程方式执行增加和重绘。

希望这是有道理的。
谢谢

最佳答案

  1. 您可以基于 XIB 文件作为默认布局,然后在运行时稍后调整位置/大小。
  2. 是的,使用该方法计算所需的高度。您需要自己在标签之间添加边距。
  3. 更改标签的框架。
  4. 您需要根据第一行标签的 x、y、高度 + 边距计算第二行标签的 x、y。
  5. 使用以下方法 Hook 并返回新高度:
    • (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

关于字体更改时自动调整 uiLabel 和 uiTableViewCell 大小的 iphone 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5216055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com