ios – 淡出任何接近UIScollView边缘的内容

ios – 淡出任何接近UIScollView边缘的内容,第1张

概述正如标题所示,我试图给予一些UI ImageViews的淡出效果,因为它们越来越接近我的UIScrollView的四个边缘.由于用户可以拖动UIImage,如果他们将它们拖向边缘,它们就会开始淡出,而不是像UIScrollView的边框那样给出那样的剪切效果.我试过这个教程: http://www.cocoanetics.com/2011/08/adding-fading-gradients-to 正如标题所示,我试图给予一些UI ImageVIEws的淡出效果,因为它们越来越接近我的UIScrollVIEw的四个边缘.由于用户可以拖动UIImage,如果他们将它们拖向边缘,它们就会开始淡出,而不是像UIScrollVIEw的边框那样给出那样的剪切效果.我试过这个教程:

http://www.cocoanetics.com/2011/08/adding-fading-gradients-to-uitableview/

建议在另一个堆栈溢出问题,但它只能应用于UItableVIEws.我希望图像在距离边界1厘米处开始衰落.

解决方法 类似于您链接到的Cocoanetics帖子中所做的,您可以创建一个CAGradIEntLayer来覆盖您的滚动视图.使用滚动视图的背景颜色(在我的示例中为白色)使其淡出到左,右,上和下边缘:
CGcolorRef innercolor = [UIcolor colorWithWhite:1.0 Alpha:0.0].CGcolor;   CGcolorRef outercolor = [UIcolor colorWithWhite:1.0 Alpha:1.0].CGcolor;   // first,define a horizontal gradIEnt (left/right edges)   CAGradIEntLayer* hMaskLayer = [CAGradIEntLayer layer];   hMaskLayer.opacity = .7;   hMaskLayer.colors = [NSArray arrayWithObjects:(ID)outercolor,(ID)innercolor,(ID)outercolor,nil];   hMaskLayer.locations = [NSArray arrayWithObjects:[NSNumber numberWithfloat:0.0],[NSNumber numberWithfloat:0.15],[NSNumber numberWithfloat:0.85],[NSNumber numberWithfloat:1.0],nil];   hMaskLayer.startPoint = CGPointMake(0,0.5);   hMaskLayer.endPoint = CGPointMake(1.0,0.5);   hMaskLayer.bounds = self.scrollVIEw.bounds;   hMaskLayer.anchorPoint = CGPointZero;   CAGradIEntLayer* vMaskLayer = [CAGradIEntLayer layer];   // without specifying startPoint and endPoint,we get a vertical gradIEnt   vMaskLayer.opacity = hMaskLayer.opacity;   vMaskLayer.colors = hMaskLayer.colors;   vMaskLayer.locations = hMaskLayer.locations;   vMaskLayer.bounds = self.scrollVIEw.bounds;   vMaskLayer.anchorPoint = CGPointZero;   // you must add the masks to the root vIEw,not the scrollVIEw,otherwise   //  the masks will move as the user scrolls!   [self.vIEw.layer addSublayer: hMaskLayer];   [self.vIEw.layer addSublayer: vMaskLayer];

免责声明:这在四角的坡度/褪色方面有两倍的增长.你可以看看结果,并决定是否对你来说足够好.如果没有,您还可以尝试在Photoshop中绘制透明图像,并使用您绘制的图像将顶部的UIImageVIEw子视图作为蒙版添加.

Youtube screen capture

总结

以上是内存溢出为你收集整理的ios – 淡出任何接近UIScollView边缘的内容全部内容,希望文章能够帮你解决ios – 淡出任何接近UIScollView边缘的内容所遇到的程序开发问题。

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

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

原文地址: https://www.outofmemory.cn/web/1097653.html

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

发表评论

登录后才能评论

评论列表(0条)

保存