如何在swift中更改集合视图的高度

时间:2017-11-10 00:47:58

标签: ios swift scroll uicollectionview uitextfield

我在ui视图上有一个集合视图和一个文本字段。 最初,我在ui视图的顶部有一个文本字段,然后我将集合视图顶部的Anchor约束设置到文本字段的底部。

我想实现一种行为,如果我向下滚动集合视图,文本字段应该消失,集合视图的顶部应该位于同一个ui视图的顶部(这将隐藏文本字段)。当我向上滚动时,我希望约束与初始约束一样(容器视图的顶部锚点应设置在文本字段的底部)。有关我如何实现此行为的任何提示?我希望通过在向上滚动和向下滚动时更新约束来实现这一点。我该如何实现呢?

2 个答案:

答案 0 :(得分:0)

int lengthOfLongestSubstring(string s) { set<char> chars; int count = 0; for (int i = 0; i < s.length(); i++) { // set::insert() return true if inserted, false if duplicate if (chars.insert(s[i]).second) { count++; } else { chars.clear(); count = 0; } } return count; } 子类UICollectionView,因此您可以实现UIScrollView来获取滚动事件。

以下是我在其中一个应用中使用的一些代码

  • 文本字段的底部被限制在集合视图的顶部
  • 文本字段的顶部被约束到视图的顶部布局指南 - 这是由滚动视图委托代码修改的约束
  • 当集合视图向上滚动时,文本字段将向上移动并淡出

UIScrollViewDelegate

基本上你将文本字段“推”出屏幕顶部,不超过它的高度+ 2

答案 1 :(得分:0)

我认为这个解决方案可以完全适合您尝试这个,只需将UIScrollView视图添加为父级,并将您的文本字段和集合视图放在滚动视图中,因为设置了约束。