【发布时间】:2013-03-12 21:14:25
【问题描述】:
我需要实现这样的东西:
tableView 必须反弹,但导航栏不能。
我尝试了很多不同的变体。 像这样的:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
CGRect imageViewFrame = self.imageView.frame;
CGRect tableViewFrame = self.tableView.frame;
//ImageView - is top view(instead of NavBar)
//defaultHeight - is default height of tableView
imageViewFrame.origin.y = MIN(0, MAX(-scrollView.contentOffset.y, -100));
tableViewFrame.origin.y = imageViewFrame.origin.y + 100;
tableViewFrame.size.height = defaultHeight - imageViewFrame.origin.y;
self.imageView.frame = imageViewFrame;
self.tableView.frame = tableViewFrame;
}
得到这个:
这不合适,因为在 Instagram 中 tableView 的大小没有改变(只看滚动指示器,如果 tableView 的大小改变了,它们也改变了)
我还尝试将 View 作为 subView 添加到 tableView 中,它可以工作,但不完全是我需要的。 在tableView之外的Instagram导航栏中,也不适合。
在 facebook 应用搜索栏的行为完全相同
谁能帮帮我?
谢谢!
【问题讨论】:
-
我真的不确定我是否正确,你是说你想要一个覆盖你内容的标题视图吗?也许在您的图像中添加更多注释,因为我没有看到任何可能让我感到困惑的导航栏。
-
@7usam,我可能说错了,我需要让导航栏(或任何其他视图)的行为与 Instagram 或 Facebook 中的相同。
-
你说的是 Instagram 中的“名牌”吗?
-
不,我说的是导航栏。但实际上我不在乎它是导航栏还是视图,主要是它的行为方式与 instagram 中的相同
-
如何在示例代码中使用相同的方法,而不是增加 tableview 的高度,您可以向上平移它。让 tableview 以完整的高度开始(它被标签栏隐藏,直到导航视图不碍事)
标签: ios objective-c uitableview uiscrollview instagram