2009-08-12 81 views
11

我最終會喜歡做的是讓我的滾動視圖內容滾動(在滾動視圖控制),並有一個靜態背景(壁紙圖像)。如何將UIScrollView的背景設置爲透明?

我試過了一些東西的組合,其中沒有一個真正產生什麼即時通訊尋找,甚至沒有真正關閉。

有沒有人試過這個?

回答

2

一些快速googleing後,我發現了兩個鏈接,這將有助於你:

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

+0

哼。即時通訊有點懷疑這將起作用。但謝謝,生病看我是否找到成功。 – 2009-08-12 04:54:22

+0

好的。所以顯然是透明的UIScrollView肯定是。 這似乎是我的滾動查看器的內容是什麼讓它不透明。我如何使內容(UIView)變得透明? – 2009-08-12 04:59:58

+2

好的。它只是設置內容UIView的self.backgroundColor = [UIColor clearColor]。這是一個很長的時間修復一個非常簡單的錯誤。 – 2009-08-12 05:07:42

9

對於那些沒有明確的答案。它是:

把虛擬持有人imageview放到主視圖,並將其設置爲所需的背景圖像或將其背景設置爲模式,然後在此視圖內放置滾動視圖並將其背景設置爲透明。

然後,您可以在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; 
+1

self.oneColumnScrollView.backgroundColor = [UIColor clearColor];對我很好!謝謝帕維爾。 – 2011-05-17 15:22:07

17

這其實是很容易的,從UIView一個UIScrollView繼承,所以你只需要設置backgroundColor屬性:

aScrollView.backgroundColor = [UIColor clearColor]; 

上面的代碼行背景設置爲透明的,所以你可以看到通過任何你想放在後面的東西。另請注意,您應該對放入滾動視圖的子視圖執行相同的操作 - 這些視圖也應具有透明背景顏色。

如果您需要靜態圖像,請使用下面代碼行中的圖案。這可以是比將要重複/平鋪的屏幕更小的紋理圖像,也可以是全屏圖像,因此您不會看到任何重複圖像。

aScrollView.backgroundColor = [UIColor colorWithPatternImage:anImage]; 
+0

考慮到這項技術是多麼容易,我認爲它必須是iOS 4+甚至iOS 5+。任何人都可以證實嗎? – 2012-02-21 22:24:12

+0

這不起作用 – 2012-04-21 00:59:42

+3

您在滾動視圖中放置的視圖也需要有清晰的背景色。 – jhabbott 2012-04-24 19:09:47

2

你有沒有試過,

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

對我來說這一次的工作...

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