如何将UIScrollView的背景设置为透明?

时间:2009-08-12 04:15:06

标签: image background uiimageview

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

我尝试过各种各样的事情,其中​​没有一个能真正产生我想要的东西,甚至没有真正接近。

以前有人试过这个吗?

5 个答案:

答案 0 :(得分:17)

这实际上非常简单,UIScrollView继承自UIView,因此您只需设置backgroundColor属性:

aScrollView.backgroundColor = [UIColor clearColor];

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

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

aScrollView.backgroundColor = [UIColor colorWithPatternImage:anImage];

答案 1 :(得分:9)

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

将虚拟持有者imageview放到主视图中并将其设置为所需的背景图像或将其背景颜色设置为模式,然后在此视图中放置scrollview并将其背景设置为透明。

然后,您可以像在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;

答案 2 :(得分:2)

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

Google Groups discussion on this question
Blog post on how to do this.

答案 3 :(得分:2)

你试过这个吗,

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"content.png"]];

答案 4 :(得分:1)

这个对我有用......

self.scrollView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"tileableImage.png"]];