我最終會喜歡做的是讓我的滾動視圖內容滾動(在滾動視圖控制),並有一個靜態背景(壁紙圖像)。如何將UIScrollView的背景設置爲透明?
我試過了一些東西的組合,其中沒有一個真正產生什麼即時通訊尋找,甚至沒有真正關閉。
有沒有人試過這個?
我最終會喜歡做的是讓我的滾動視圖內容滾動(在滾動視圖控制),並有一個靜態背景(壁紙圖像)。如何將UIScrollView的背景設置爲透明?
我試過了一些東西的組合,其中沒有一個真正產生什麼即時通訊尋找,甚至沒有真正關閉。
有沒有人試過這個?
一些快速googleing後,我發現了兩個鏈接,這將有助於你:
Google Groups discussion on this question
Blog post on how to do this.
對於那些沒有明確的答案。它是:
把虛擬持有人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;
self.oneColumnScrollView.backgroundColor = [UIColor clearColor];對我很好!謝謝帕維爾。 – 2011-05-17 15:22:07
這其實是很容易的,從UIView
一個UIScrollView
繼承,所以你只需要設置backgroundColor
屬性:
aScrollView.backgroundColor = [UIColor clearColor];
上面的代碼行背景設置爲透明的,所以你可以看到通過任何你想放在後面的東西。另請注意,您應該對放入滾動視圖的子視圖執行相同的操作 - 這些視圖也應具有透明背景顏色。
如果您需要靜態圖像,請使用下面代碼行中的圖案。這可以是比將要重複/平鋪的屏幕更小的紋理圖像,也可以是全屏圖像,因此您不會看到任何重複圖像。
aScrollView.backgroundColor = [UIColor colorWithPatternImage:anImage];
考慮到這項技術是多麼容易,我認爲它必須是iOS 4+甚至iOS 5+。任何人都可以證實嗎? – 2012-02-21 22:24:12
這不起作用 – 2012-04-21 00:59:42
您在滾動視圖中放置的視圖也需要有清晰的背景色。 – jhabbott 2012-04-24 19:09:47
你有沒有試過,
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"content.png"]];
對我來說這一次的工作...
self.scrollView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"tileableImage.png"]];
哼。即時通訊有點懷疑這將起作用。但謝謝,生病看我是否找到成功。 – 2009-08-12 04:54:22
好的。所以顯然是透明的UIScrollView肯定是。 這似乎是我的滾動查看器的內容是什麼讓它不透明。我如何使內容(UIView)變得透明? – 2009-08-12 04:59:58
好的。它只是設置內容UIView的self.backgroundColor = [UIColor clearColor]。這是一個很長的時間修復一個非常簡單的錯誤。 – 2009-08-12 05:07:42