0

我的应用程序底部的图像上有一个 UIScrollView,它充当带有可以水平滚动的图标的底座。而不是 UIScrollView 的粗糙边缘,我希望图标淡出以获得更美观的外观。作为 iOS 开发的新手,我不知道这些选项是否有效:

  1. 创建一个褪色的图像以用作滚动视图上的叠加层,以便图标仅通过可见部分出现。
  2. 实际上根据图像与中心(或每个边缘)的距离来更改图像的 alpha。

我怀疑第一个想法将是最简单的,但我想把它扔在那里以获取任何其他想法。

注意:我确实看过教程,但是该技术假定背景是纯色。如果我以编程方式执行此操作,我可能需要淡化单个图像。

4

1 回答 1

1

你绝对可以按照#2 的方式实现一些东西。这将类似于教程描述的内容。然而,alpha 过渡不会像使用教程中提到的渐变层或使用图像那样平滑,因为整个图标将具有相同的 alpha。差异的可辨别程度取决于图标的大小。较小的图标,很少有人能分辨出来。较大的图标差异会很明显。

你必须实施

  • (void)scrollViewDidScroll:(UIScrollView *)scrollView

滚动视图的委托类中的方法。每次滚动视图更改其内容的位置时,都会调用此方法。在此方法中,您可以调用其子视图并根据需要调整其 alpha。为了优化它而不是调用所有元素的 alpha 调整,您可以只更新仍然部分/完全可见的子视图。

编辑:要弄清楚要调整哪些视图,您将使用在上述方法中作为参数传递的 scrollView 的 contentOffset 属性。

于 2012-04-24T12:25:26.377 回答