iphone - 随着用户拉动,UITableView 中的标题不断增加

标签 iphone ios uitableview

我正在尝试在 UITableView 之上添加一个 UIView。其目的是当用户下拉内容时(通常会进行下拉刷新),而不是显示 UITableView 的背景,表格上方的 UIView 应该增长以保持粘在向下滑动的顶部 UITableViewCell 上.当用户向另一方向滚动时(内容向上滚动),UIView 将消失,就好像它只是顶部的 UITableViewCell。

您可以在 Path 中看到此实现(下拉时间轴和顶部个人资料图片展开,example at 0:15)和新 Facebook 应用程序的签到( map 在附近地点列表上方增长)。

不确定解决此问题的最佳方法。我认为要达到类似的效果,您必须将 UIView 作为第一个单元格。但是this question我有点担心在滚动时尝试调整单元格的高度。从理论上讲,调整大小只需要在下拉时发生,而不是向上推,如果它只是顶部的 UITableViewCell。

编辑:当前代码 - 使用 rummad 的建议,我在 contentOffset 的 tableview 上添加了一个 keypath 观察器,并根据它调整了单元格的高度,但它到处乱跳。

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{
    if (self.tableView == (UITableView*)object) {
        if ([keyPath isEqualToString:@"contentOffset"]) {
            CGPoint scrollLoc = self.tableView.contentOffset;
            if (scrollLoc.y < 0) {
                NSLog(@"offset:%@", NSStringFromCGPoint(scrollLoc));
                headerSize = 100 - scrollLoc.y;
                [self.tableView beginUpdates];
                [self.tableView endUpdates];
            }
        }
    }
}

最佳答案

实际上看起来有一些库,使用第一个表格单元格不是可行的方法。 “视差”似乎是神奇的谷歌术语。

http://rowboatrevolution.com/2012/02/uitableview-parallax-background-a-la-path/ https://github.com/Rheeseyb/RBParallaxTableViewController

关于iphone - 随着用户拉动,UITableView 中的标题不断增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12585357/

相关文章:

带有自动高度标签的 Swift tableview 单元格自动高度

ios - Swift 2.1 - 自定义 UITableViewCell 类中的 IBOutlet 属性为 nil

iphone - 滚动时确定 UITableViewCell 的坐标

iphone - 当我点击连续的开关时,如何获取indexPath.row/path?

iphone - 来自文档文件夹的界面构建器图像

ios - 在 iOS 项目中包含 C 库

ios - XCode 12 和 IOS 14 中 UITableView 的问题

swift - Swift 的 TableView 中最多有一个复选标记

iphone - 是否可以将 AutoLayout 与 UITableView 的 tableHeaderView 一起使用?

iphone - UIWebView(DataDetectorsCore)仅在模拟器中崩溃