IOS - 滚动时将UIView保留在UITableView之上

时间:2015-05-27 20:11:06

标签: ios xcode uitableview uiscrollview

我有一个顶部有UIView的UITableView。我希望UIView坚持到顶部,因为tableView单元格滚动它。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    if (self.tableView.contentOffset.y > 0) {
        CGRect newframe = self.publicTopView.frame;
        newframe.origin.y = -self.tableView.contentOffset.y;
        self.publicTopView.frame = newframe;
        NSLog(@"After: %f", self.publicTopView.frame.origin.y);
    }
}

2 个答案:

答案 0 :(得分:1)

您需要将表格视图标题视图设置为您想要的视图。

将此代码添加到viewDidLoad

self.tableView.tableHeaderView = self.publicTopView

答案 1 :(得分:0)

我不确定你想要完成什么,但我猜错了什么。当您滚动contentOffset时,我们会继续更改并假设您的tableView内容大小高度为1500,那么您的contentOffset最终会大于视图控制器视图的高度。现在看到您将contentOffset放入origin.y的{​​{1}}。因此,publicTopView可能会移动太多,甚至在屏幕外,具体取决于您的tableview内容大小的大小。