如何在用户滚动时锁定视图

时间:2013-07-17 20:46:46

标签: iphone ios objective-c

我是iphone开发的新手,我试图弄清楚当用户滚动窗口时,如何在视图到达屏幕顶部后修复视图。然后,当窗口再次向下滚动以返回其原始位置时,视图将解锁。我已经在一些应用程序上看到了这一点,例如instagram(用户名分隔符)。

此设计模式是否具有特定名称?


http://mashable.com/上可以看到一个例子(不是iPhone) - 看看“The New Stuff”,“The Next Big Thing”和“What's Hot”吧。在向下滚动时查看它是如何锁定的

2 个答案:

答案 0 :(得分:2)

我的解决方案是

  1. 创建UITableView
  2. 单独创建UIView,将用作固定表格标题
  3. 设置表的tableHeaderView属性以符合UIView's框架
  4. 因为UITableView继承自UIScrollView,所以您可以依赖scrollViewDidScroll方法,在滚动表格时,当Y坐标发生变化时,我会正确调整固定标题。
  5. 也可以有其他类似的解决方案,但这个特定解决方案的优势在于您可以轻松地在整个滚动过程中操纵固定标头的gui元素。

    一个例子总是比写下细节更好,所以我为你创建了(并希望其他人在这里)一个示例项目(当然是快速的脏),你可以在这里找到github: https://github.com/codedad/SO_Fixed_TableHeader_iOS

答案 1 :(得分:0)

如果我是正确的,您是否尝试在“通讯录”应用中实现类似UITableView的内容?

它使用UITableView的部分作为已排序的字母,并始终将它们显示在顶部。

看看this questioncreate custom section headers