有一种简单的方法可以使自定义UITableViewCell与标准UITableViewCell具有相同的边缘吗?

Herzbube

我有一个带有静态内容的自定义UITableViewCell,它具有一个UIStackView作为内容视图的单个子视图。我希望UIStackView在从iOS 9(我的最低部署目标)到当前的iOS 14以及iPhone和iPad设备上的所有iOS版本中,都使用与UIKit内置的标准UITableViewCell相同的水平边距/插入。

我天真地开始添加约束,这些约束将UIStackView的前导/尾随锚附加到内容视图的readableContentGuide我不喜欢Interface Builder,所以我的代码是这样的:

UIStackView stackView = [...]
[stackView.leadingAnchor constraintEqualToAnchor:self.contentView.readableContentGuide.leadingAnchor].active = YES;
[stackView.trailingAnchor constraintEqualToAnchor:self.contentView.readableContentGuide.trailingAnchor].active = YES;

除某些情况(1)中使用标准UITableViewCell之外,此方法效果很好。readableContentGuide因此,将标准单元格与我的自定义单元格混合会很糟糕,因为它们的边缘不对齐。在这里,您会看到4个自定义单元,顶部和底部有一个标准单元:

在此处输入图片说明

(1)在以下情况下会发生:

  • 在带有缺口的iPhone设备上,当设备以横向放置时
  • 在iPad设备上,纵向和横向

我尝试使用layoutMarginsGuide代替readableContentGuide,但是这会导致许多约束错误(Xcode的调试输出中出现“无法同时满足约束。”)。我也尝试设置

self.tableView.cellLayoutMarginsFollowReadableWidth = YES;

在使用我的自定义单元格的表格视图中,由于标准单元格现在其边缘与我的自定义单元格位于同一位置,因此此方法有效。但是我不喜欢这种解决方法,首先是因为这意味着我必须为要使用自定义单元格的每个表视图进行特殊设置,其次是因为不必要地减少了可用于数据显示的宽度。

看来我缺少了一些东西。是否有一种简单的标准方法,如何使用布局指南来布局自定义UITableViewCell的内容,以使自定义单元格内容的边缘与标准单元格的边缘在同一位置?

唐马格

您应该可以使用单元格的.contentView.layoutMarginsGuide

UILayoutGuide *g = self.contentView.layoutMarginsGuide;

[NSLayoutConstraint activateConstraints:@[

    [stackView.topAnchor constraintEqualToAnchor:g.topAnchor],
    [stackView.leadingAnchor constraintEqualToAnchor:g.leadingAnchor],
    [stackView.trailingAnchor constraintEqualToAnchor:g.trailingAnchor],
    [stackView.bottomAnchor constraintEqualToAnchor:g.bottomAnchor],

]];

如果这样使您看到“无法同时满足约束”消息,但布局看起来正确(这在单元格中使用堆栈视图时很常见),则可以忽略消息或为底部锚点提供低于所需优先级的优先级:

UILayoutGuide *g = self.contentView.layoutMarginsGuide;

NSLayoutConstraint *c = [stackView.bottomAnchor constraintEqualToAnchor:g.bottomAnchor];
c.priority = UILayoutPriorityDefaultHigh;

[NSLayoutConstraint activateConstraints:@[

    [stackView.topAnchor constraintEqualToAnchor:g.topAnchor],
    [stackView.leadingAnchor constraintEqualToAnchor:g.leadingAnchor],
    [stackView.trailingAnchor constraintEqualToAnchor:g.trailingAnchor],
    
    c,
    
]];

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有一种方法可以使用自定义分隔符进行选择

来自分类Dev

有没有一种方法可以使Windows 10中的电源按钮自定义功能?

来自分类Dev

具有自定义视图的UITableViewCell

来自分类Dev

有一种简单的方法可以在python函数中具有可选的输出参数吗?

来自分类Dev

有一种简单的方法可以在python函数中具有可选的输出参数吗?

来自分类Dev

有没有一种方法可以使用自定义继承过程中的字段执行计算?

来自分类Dev

有没有一种方法可以使用Rest API获取Magento 2中特定类别的自定义过滤器?

来自分类Dev

有没有一种方法可以使Blend中的自定义着色器效果属性动画化?

来自分类Dev

有没有一种方法可以使用自定义按钮为Aldeed添加值:Autoform

来自分类Dev

有没有一种方法可以使用gnome-screenshot将屏幕快照保存到自定义位置?

来自分类Dev

有没有一种简单的方法可以自定义python中的try-except错误代码输出?

来自分类Dev

有没有一种简单的方法来创建自定义的 PHP XML 编写器函数?

来自分类Dev

使用 QGraphicsView 时,是否有一种“简单的方法”可以将自定义 UI 添加到 Qt 应用程序?

来自分类Dev

有没有一种方法可以创建带有自定义字符的无尽流?

来自分类Dev

具有自定义逻辑的可重用UITableViewCell

来自分类Dev

在xib中具有可选的UIImageView的自定义UITableViewCell

来自分类Dev

具有自定义UITableViewCell的iOS FirebaseUI

来自分类Dev

R:有没有一种简单的方法可以使ave()用于矩阵?

来自分类Dev

有没有一种方法可以为每个对象编写自定义JsonConverter

来自分类Dev

有没有一种方法可以隐藏/自定义图例上方的ChartJS?

来自分类Dev

有没有一种方法可以自定义实体查询的默认行为?

来自分类Dev

有没有一种方法可以缩写自定义类类型声明?

来自分类Dev

有没有一种方法可以自定义Spring MVC使用的ObjectMapper而不返回String?

来自分类Dev

有没有一种方法可以将文件压缩为自定义扩展名?

来自分类Dev

有没有一种方法可以在Matlab中使用narginchk生成自定义错误消息?

来自分类Dev

有没有一种方法可以通过自定义HTTP标头获取推荐网址?

来自分类Dev

有没有一种方法可以将onClick事件添加到自定义组件

来自分类Dev

有没有一种方法可以在熊猫聚合函数中创建自定义函数?

来自分类Dev

有没有一种方法可以将自定义文本插入heatmap.2?

Related 相关文章

  1. 1

    有没有一种方法可以使用自定义分隔符进行选择

  2. 2

    有没有一种方法可以使Windows 10中的电源按钮自定义功能?

  3. 3

    具有自定义视图的UITableViewCell

  4. 4

    有一种简单的方法可以在python函数中具有可选的输出参数吗?

  5. 5

    有一种简单的方法可以在python函数中具有可选的输出参数吗?

  6. 6

    有没有一种方法可以使用自定义继承过程中的字段执行计算?

  7. 7

    有没有一种方法可以使用Rest API获取Magento 2中特定类别的自定义过滤器?

  8. 8

    有没有一种方法可以使Blend中的自定义着色器效果属性动画化?

  9. 9

    有没有一种方法可以使用自定义按钮为Aldeed添加值:Autoform

  10. 10

    有没有一种方法可以使用gnome-screenshot将屏幕快照保存到自定义位置?

  11. 11

    有没有一种简单的方法可以自定义python中的try-except错误代码输出?

  12. 12

    有没有一种简单的方法来创建自定义的 PHP XML 编写器函数?

  13. 13

    使用 QGraphicsView 时,是否有一种“简单的方法”可以将自定义 UI 添加到 Qt 应用程序?

  14. 14

    有没有一种方法可以创建带有自定义字符的无尽流?

  15. 15

    具有自定义逻辑的可重用UITableViewCell

  16. 16

    在xib中具有可选的UIImageView的自定义UITableViewCell

  17. 17

    具有自定义UITableViewCell的iOS FirebaseUI

  18. 18

    R:有没有一种简单的方法可以使ave()用于矩阵?

  19. 19

    有没有一种方法可以为每个对象编写自定义JsonConverter

  20. 20

    有没有一种方法可以隐藏/自定义图例上方的ChartJS?

  21. 21

    有没有一种方法可以自定义实体查询的默认行为?

  22. 22

    有没有一种方法可以缩写自定义类类型声明?

  23. 23

    有没有一种方法可以自定义Spring MVC使用的ObjectMapper而不返回String?

  24. 24

    有没有一种方法可以将文件压缩为自定义扩展名?

  25. 25

    有没有一种方法可以在Matlab中使用narginchk生成自定义错误消息?

  26. 26

    有没有一种方法可以通过自定义HTTP标头获取推荐网址?

  27. 27

    有没有一种方法可以将onClick事件添加到自定义组件

  28. 28

    有没有一种方法可以在熊猫聚合函数中创建自定义函数?

  29. 29

    有没有一种方法可以将自定义文本插入heatmap.2?

热门标签

归档