如何在不使用UIScrollView在后台滚动图像的情况下滚动内容?

时间:2010-05-18 08:09:07

标签: iphone uiscrollview

我正在尝试滚动内容而不使用UIScrollView在后台滚动图像。

我正在使用IB并将FileOwner视图设置为指向滚动视图(图像视图是滚动视图的子视图)。我已经将图像高度设置为960像素。

我还在拥有此UIView的vierController中设置了滚动内容大小

  • (void)viewDidLoad { UIScrollView * tempScrollView =(UIScrollView *)self.view; tempScrollView.contentSize = CGSizeMake(320,960); }

我的问题是图片只会随内容一起移动。

我尝试取出viewDidLoad中的设置,但滚动停止运行。

我也尝试更改图像的位置并将其放置在VIEW而不是Scoll View下(顺便说一下Scroll View是VIEW的子级),但这导致应用程序崩溃(终止错误)。

任何建议都将受到赞赏。

2 个答案:

答案 0 :(得分:9)

最简单(也是正确的方法)是将背景图像设置为UIScrollView

UIImage *img = [UIImage imageNamed:@"image.png"];
[scrollView setBackgroundColor:[UIColor colorWithPatternImage:img]];

答案 1 :(得分:1)

感谢。这非常有帮助。

我要添加的一件事(请原谅,如果很明显,但对于平台上的新手(即我)来说,需要花点时间玩一下。)

在我在UIViewController的viewDidLoad中设置contentSize = CGSizeMake之后,我把代码放在“unset”的例子中,即:

// Setup the Scroll View
UIScrollView *tempScrollView=(UIScrollView *)self.view;
tempScrollView.contentSize=CGSizeMake(320, 720);

// Set Stationary Background, so that while the user scroll the background is
// fixed.
UIImage *img = [UIImage imageNamed:@"bg-body.jpg"];
[tempScrollView setBackgroundColor:[UIColor colorWithPatternImage:img]];

然后,我进入了ViewController .xib文件,在UIScrollView内部的UIView上,我将背景颜色设置为“Clear Color”。

我确信有一种方法可以在设置UIScrollView的背景的同时通过代码执行此操作,但至少可以通过IB执行此操作。

杰森