【问题标题】:Can we hide a UIView partially in iOS我们可以在 iOS 中部分隐藏 UIView
【发布时间】:2016-05-04 06:37:36
【问题描述】:

当用户滚动它时,我必须部分隐藏UIView。在UIView 上方有一个UIScrollView。 例如,在下面的给定图像中,我想隐藏蓝色可滚动区域下覆盖的区域。我所有的视图背景颜色都是清晰的颜色。

我想隐藏下图中给出的部分,标记为红色的矩形。所以那部分文本(一、二、三)只可见。

【问题讨论】:

  • 您可以在其上方添加另一个UIView 以隐藏可滚动区域。
  • 你想用什么来隐藏它?滚动视图中是否添加了一些其他视图,您希望在用户滚动时使其可见?
  • 部分隐藏是什么意思?您的意思是在滚动时隐藏它并在滚动停止时将其显示回来?
  • 蓝色区域有内容,滚动侧边内容(一、二、三)应淡出。全屏可滚动(宽度)
  • 您在寻找滑出式菜单效果吗?滚动时要在屏幕的部分宽度上添加视图?

标签: ios swift ios8 autolayout


【解决方案1】:

每个UIView,包括UIScrollView,都有一个核心动画层(CALayer)。

您可以通过

访问CALayer
view.layer

反过来,CALayer 有一个掩码,您可以使用它访问

layer.mask

使用遮罩是在运行时控制可见性和不透明度的最全面的方法。

【讨论】:

  • 使用遮罩层我不认为我们可以隐藏部分,只要我们添加遮罩层来查看它就会被隐藏。我通过添加 UIView 并更新正确的 zPosition 来管理。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-12
  • 1970-01-01
  • 2016-09-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多