
现在我正在实现它的方式是使用作为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吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)