iphone - 如何在用户滚动时锁定 View

标签 iphone ios objective-c

我是 iPhone 开发新手,我正在尝试弄清楚当用户滚动窗口时如何修复 View 到达屏幕顶部的问题。然后,当窗口再次向下滚动以返回到其原始位置时, View 将解锁。我在 Instagram 等一些应用程序上看到过这种情况(带有用户名分隔符)。

这个设计模式有具体的名称吗?


一个示例(尽管不是 iPhone)可以在 http://mashable.com/ 上看到。 -- 看看“新东西”、“下一件大事”和“热门”吧。向下滚动时查看它如何锁定

最佳答案

我给你的解决方案是

  1. 创建一个UITableView
  2. 单独创建一个UIView,它将用作固定表头
  3. 设置表格的tableHeaderView属性以符合UIView的框架
  4. 由于 UITableView 是从 UIScrollView 继承的,因此您可以依靠 scrollViewDidScroll 方法,在滚动表格时,我可以在 Y 坐标发生变化时正确调整固定标题。

也可以有其他类似的解决方案,但这个特定解决方案的优点是您可以在整个滚动过程中轻松操纵固定标题的 gui 元素。

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

关于iphone - 如何在用户滚动时锁定 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17709897/

相关文章:

ios - Unity3D/Xcode : Debug Logs not available on Device, 在控制台中看不到

ios - 有没有一种简单的方法让另一个 ViewController 知道按钮已被按下?

iphone - 为什么我无法在屏幕上查看图像?

iphone - 在 iPhone 和 iPad 上使用 UIWebView 进行私密浏览

ios - iOS 应用程序的有效 UI 样式

c++ - 64 位架构的 iOS JUCE 库问题

ios - 如何在导航 Controller 内的 Storyboard 中从appdelegate推送viewcontroller

objective-c - 如何在 Cocoa 框架中定义全局变量

iphone - 在 uidatepicker 中将最大日期设置为当前日期

iphone - iTunes 商店会接受基于 Safari 的 iPhone 应用程序吗?