13

我最终想做的是让我的滚动视图内容滚动(在滚动视图控件中),并具有静态背景(壁纸图像)。

我已经尝试了多种方法,但没有一种能真正产生我想要的东西,甚至没有真正接近。

以前有人尝试过吗?

4

5 回答 5

19

这其实很简单,aUIScrollView继承自 aUIView所以你只需要设置backgroundColor属性:

aScrollView.backgroundColor = [UIColor clearColor];

上面的代码行将背景设置为透明,这样您就可以看到您想要放置的任何内容。另请注意,您应该对放在滚动视图中的子视图执行相同的操作 - 这些视图也应该具有透明的背景颜色。

如果您想要静态图像,请使用下面代码行中的模式。这可以是比将被重复/平铺的屏幕更小的纹理图像,也可以是全屏图像,因此您看不到任何重复。

aScrollView.backgroundColor = [UIColor colorWithPatternImage:anImage];
于 2011-11-22T01:34:01.970 回答
9

对于那些对此没有明确答案的人。它去:

将一个虚拟持有者图像视图放置到主视图并将其设置为所需的背景图像或将其背景色设置为图案,然后在此视图中放置滚动视图并将其背景设置为透明。

然后你会得到想要的效果,就像 iPad 上的 Safari 一样,例如页面滚动。

这是 Monotouch 的代码,但很容易理解。

this.View.BackgroundColor = UIColor.FromPatternImage (UIImage.FromFile ("Images/About-bg0.jpg"));
scrollView = new UIScrollView (new RectangleF (0, 0, 320, 450));
        scrollView.ContentSize = new SizeF (320, 640 + 508 + 1000);
        //scrollView.BackgroundColor = UIColor.FromPatternImage (UIImage.FromFile ("Images/About-bg0.jpg"));
        scrollView.BackgroundColor = UIColor.Clear;
于 2011-02-22T12:13:13.523 回答
2

经过一些快速的谷歌搜索后,我找到了两个可以帮助您的链接:

Google Groups 对这个问题的讨论
关于如何做到这一点的博客文章。

于 2009-08-12T04:29:59.980 回答
2

你试过这个吗,

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"content.png"]];
于 2012-07-09T06:57:09.467 回答
1

这个对我有用...

self.scrollView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"tileableImage.png"]];
于 2013-08-08T09:09:22.990 回答