我正在尝试实现类似于此模型的内容:http://share.framerjs.com/16hwz94ezflt/(向下滚动)

如果向下滚动,则“周”视图将停留在导航栏下方。
我有一个带有标题的类似UITableView(在“周”视图上方)。

我不清楚这个“星期”视图是否是表视图的一部分。并不重要,但我很好奇一个人如何实现这样的事情。

最佳答案

这是我使用自动布局约束的方式

  • 将WeekView之外的所有内容保留在UIScrollView / UITableView中
  • 设置滚动视图
  • 内的所有项目
  • 将WeekView创建为UIView(或类似的形式)并给予以下约束:
  • 答:前导/尾随空间设置为容器边距(可以是主视图或滚动视图)
  • B:指定静态高度约束
  • C:添加一个约束,将WeekView的顶部与其上方的视图相关联(在本例中为总SalesView),并将空间设置为0。此约束应使Weekview遵循SaleView的位置。
  • D:在View Controller中添加将WeekView的顶部与祖父母视图的顶部相关的约束。该约束将WeekView保持在屏幕顶部

  • 现在很明显,最后两个约束相互冲突。现在,您要做的是修改约束D,以使关系不等于0,而是> =0。然后,将约束C的优先级设置为小于1000(默认值),例如900。这样,如果另一个约束(约束D在这种情况下)需要打破。

    这将告诉自动布局“好,只要WeekView在顶部下方就很酷。它不能在顶部上方。我也希望它位于SalesView的位置正下方,但是如果约束D像“嘿,退缩“,我退缩”

    那有意义吗?

    10-02 13:10