UIScrollView作为UIViewController的视图并设置背景图像

时间:2012-06-08 01:13:27

标签: iphone objective-c ios ipad

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

4 个答案:

答案 0 :(得分:1)

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

  • 查看控制器

    • 查看(图像视图)

      • 滚动视图

答案 1 :(得分:0)

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

  • 查看控制器
    • 查看
      • 图片视图
      • 滚动视图

答案 2 :(得分:0)

删除UIScrollView作为控制器的主视图。

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

  • 的UIViewController
    • 根视图
      • 图片视图
      • 滚动视图

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

希望这有帮助!

答案 3 :(得分:0)

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

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

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