iphone – 可以将固定内容添加到UIScrollView吗?

iphone – 可以将固定内容添加到UIScrollView吗?,第1张

概述我想创建一个UITableView或UIScrollView的子类,当内容偏移量为>将在顶部有一些阴影0表示内容是可滚动的. (见附图) 现在我正在实现它的方式是使用作为tableView代理的UIViewController.我只需要在TableView的顶部放置一个GradientView,并截取scrollViewDidScroll:动画化该顶部渐变的可见性. 我的这个实现的问题是它不是“干 我想创建一个UItableVIEw或UIScrollVIEw的子类,当内容偏移量为>将在顶部有一些阴影0表示内容是可滚动的. (见附图)

现在我正在实现它的方式是使用作为tableVIEw代理的UIVIEwController.我只需要在tableVIEw的顶部放置一个GradIEntVIEw,并截取scrollVIEwDIDScroll:动画化该顶部渐变的可见性.

我的这个实现的问题是它不是“干净”.我想要我的UIVIEwControllers来处理逻辑,而不是处理应用渐变和东西.我希望我可以放一个UItableVIEw的子类,这将为我做.

对我来说的挑战是,我无法弄清楚tableVIEw如何在可滚动内容之上添加固定内容.

另一个问题是UIScrollVIEw应该覆盖什么方法来拦截滚动事件.显然我不希望tableVIEw是自己的委托…

有任何想法吗?

谢谢!

解决方法 好的,所以我找到了解决方案在苹果的WWDC 2011 Session 104视频 – 高级滚动视图技术.

这个视频中有一个关于“固定视图”的整个部分在滚动视图中.
据苹果公司说,去这里的方法是覆盖layoutSubvIEws,并把所有代码放在任何你想要的位置 – 无论你想要什么.

我尝试了,它实际上很容易,它的工作正常.

所以例如,如果我在内容被滚动时想要一个阴影的标题在表的顶部,这是我应该写的代码:

-(voID) layoutSubvIEws{    [super layoutSubvIEws];    [self positiontopShadow];}-(voID) positiontopShadow{    CGfloat yOffset = self.contentOffset.y;    // I'm doing some limiting so that the maximum height of the shadow vIEw will be 40 pixels    yOffset = MIN(yOffset,40);    yOffset = MAX(0,yOffset);    CGRect frame = self.topShadowVIEw.frame;    // The origin should be exactly like the content offset so it would look like    // the shadow is at the top of the table (when it's actually just part of the content)     frame.origin = CGPointMake(0,self.contentOffset.y);    frame.size.height = yOffset;    frame.size.wIDth = self.frame.size.wIDth;    self.topShadowVIEw.frame = frame;    if (self.topShadowVIEw.supervIEw == nil)    {        [self addSubvIEw:self.topShadowVIEw];    }    [self bringSubvIEwToFront:self.topShadowVIEw];}
总结

以上是内存溢出为你收集整理的iphone – 可以将固定内容添加到UIScrollView吗?全部内容,希望文章能够帮你解决iphone – 可以将固定内容添加到UIScrollView吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1085255.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存