【发布时间】:2012-12-27 07:29:49
【问题描述】:
我在UITableview 上方有一个覆盖UIView。当我滚动 UITableview 时,我希望覆盖层 UIView 以与 UITableview 滚动相同的速度移动,就像 facebook 应用程序的顶部菜单一样。
有什么建议吗? 我尝试在 uitableview 的滚动委托中更改覆盖 uiview 的框架。类似于:
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
self.lastOffsetY = scrollView.contentOffset.y;
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat offset = self.lastOffsetOfY - scrollView.contentOffset.y;
CGRect frame = self.overlayview.frame;
frame.origin.y += offset;
self.overlayview.frame = frame;
self.lastOffsetOfY = scrollView.contentOffset.y;
}
只需使用 contentoffset 值的变化。但覆盖 uiview 的移动与 uitableview 滚动不同。
【问题讨论】:
-
我添加了一些我自己的代码@H2CO3
-
谢谢。只是好奇:
self.lastOffsetOfY在呈现视图之前是否已初始化?此外,是否没有可能干扰此方法的滚动视图?如果您输入if ([scrollView isEqual:tableView])之类的支票怎么办? -
我在
scrollViewWillBeginDragging中初始化了self.lastOffsetOfY,除了同一个父uiview之外没有其他视图 -
奇怪。我看不出代码有什么问题。我稍后再试试。
-
亲爱的@keywind,您可以在
UITableview的superview上添加您的UIView
标签: ios uitableview uiscrollview