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

Edw*_* An 11 background image uiimageview

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

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

有没有人试过这个?

jha*_*ott 17

这实际上非常简单,UIScrollView继承自a,UIView所以你只需要设置backgroundColor属性:

aScrollView.backgroundColor = [UIColor clearColor];
Run Code Online (Sandbox Code Playgroud)

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

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

aScrollView.backgroundColor = [UIColor colorWithPatternImage:anImage];
Run Code Online (Sandbox Code Playgroud)

  • 您放在滚动视图中的视图也需要具有清晰的背景颜色. (3认同)

Pav*_*ich 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;
Run Code Online (Sandbox Code Playgroud)


Kre*_*dns 2

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

Google 网上论坛对此问题的讨论
关于如何执行此操作的博客文章。

  • 好的。它只是设置内容 UIView 的 self.backgroundColor = [UIColor clearColor]。修复一个非常简单的错误花了很长时间。 (2认同)