iOS UIView 滚动 UI - 如何实现?

标签 ios uiwebview scroll

请原谅我使用晦涩的标题,因为我不确定如何描述这个问题。

最近,许多 iOS 应用程序都使用滚动 UI 设计模式,这有助于最大化屏幕空间,通常会在用户向下滚动时隐藏标题。

例如,Instragram 的主视图在顶部有 Instragram 标题。在此 View 上向上滚动会使标题固定在顶部,并且 View 会正常弹回到内容的顶部。但是向下滚动,标题作为内容的一部分,为额外的 44 点垂直空间让路。

可能是因为我有一段时间没有做太多的 iOS 工作,但我不能轻易弄清楚如何最好地实现它?为可怕的描述道歉。

最佳答案

如果标题无论如何都保持不变,请在 ScrollView 顶部使用单独的 View 。 如果您使用 UITableView,则可以使用节标题。

编辑 使用此代码:

- (void)scrollViewDidScroll:(UIScrollView*) scrollView
{
    CGPoint offset = scrollView.contentOffset;

    CGRect headerFrame = _headerView.frame;

    if(offset.y > 0){
        headerFrame.origin.y = offset.y;
    }
    else{
        headerFrame.origin.y = 0.0;
    }

    [_headerView setFrame:headerFrame];
}

(假设 _headerView 是您的页眉,位于 ScrollView 的顶部,而不是其内部。此外, ScrollView 和页眉都从其父 View 的顶部开始,y==0。此外,您的 View Controller 必须设置为 ScrollView 的委托(delegate))

这段代码是我凭内存写的;尚未对其进行测试,但最多只需要进行调整。

关于iOS UIView 滚动 UI - 如何实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11412584/

相关文章:

javascript - 如何确定用户是否使用 jQuery 滚动到 HTML 容器的末尾?

ios - 如何在 UICollectionView 中隐藏一个部分

ios - 如何声明一个符合特定关联类型的协议(protocol)的变量?

ios - trailingSwipeActionsConfigurationForRowAt 不能稳定工作

android - 如何在 android web View 中用另一个浏览器替换默认的 webkit 浏览器?

iphone - 在 UITabBarController 中的 UIWebView 中支持 HTML5 视频的横向模式

ios - 如何以编程方式了解ios中的互联网速度

ios - 如何从 REST API search.list 结果中过滤掉 YouTube 的内容屏蔽视频

css - HTML : sticky header jumps a little bit when scrolling

jquery - ajax 使用 anchor 链接加载内容?实时处理程序?