0

我有一个 UIScrollView 的子类,我已将其设置为我的 UIViewController 的视图。我想要一个全屏背景图像,当我滚动整个 UIScrollView 时,我总是可以看到它。我怎样才能做到这一点?请不要告诉我在 UIImageView 前面有 UIScrollView。试图找到替代方案。现在我有一个 UIImageView 作为 UIScrollView 的子视图,但是当我向下滚动到底部时,图像不再显示。

4

4 回答 4

1

您可以通过以下方式创建层次结构以节省额外的视图。

  • 视图控制器

    • 视图(图像视图)

      • 滚动视图
于 2012-06-08T02:06:48.923 回答
0

在 ViewController 的 UIView 中放置两个视图。第一个是带有您想要的背景图像的 UIImageView,第二个是 UIScrollView(具有清晰的背景颜色,因此您可以通过滚动视图看到 UIImageView 的内容(即背景图像))。在故事板或 IB 中,它的结构如下:

  • 视图控制器
    • 看法
      • 图像视图
      • 滚动视图
于 2012-06-08T01:44:06.560 回答
0

将您的 UIScrollView 从作为控制器的主视图中删除。

相反,使用 UIView 并将 imageView 添加到视图的顶部,并在其上方添加滚动视图。您的布局应如下所示:

  • UIViewController
    • 根视图
      • 图像视图
      • 滚动视图

现在您的视图已正确分层以保持图像静态和其上方的滚动视图

希望这可以帮助 !

于 2012-06-08T01:47:27.873 回答
0

覆盖 UIScrollView 子类中的布局子视图:

- (void)layoutSubviews
{
    CGRect frame = self.imageView.frame;
    frame.origin.y = self.contentOffset.y;
    self.imageView.frame = frame;
}

如果需要,也可以对 x 进行调整。

于 2012-06-08T03:39:10.730 回答