2009-08-12 11 views
11

Ostatecznie chciałbym, aby LOVE to zrobić przewijanie zawartości widoku przewijania (w kontrolce widoku przewijania) i mieć statyczne tło (obraz tapety).Jak ustawić tło UIScrollView, aby było przezroczyste?

Próbowałem kombinacji rzeczy, z których żadna nie dawała naprawdę tego, czego szukałem, nawet nie bardzo blisko.

Czy ktoś już wcześniej próbował tego dokonać?

Odpowiedz

2

Po jakimś szybkim googleing znalazłem dwa linki, które pomoże Ci:

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

+0

hmm. jestem nieco sceptyczny, to zadziała. ale dzięki, źle, jeśli znajdę sukces. –

+0

Ok. więc z pewnością przejrzysty UIScrollView jest z pewnością. Wygląda na to, że zawartość mojego scrollera jest taka, że ​​NIE jest przezroczysta. Jak mogę uczynić zawartość (UIView) przejrzystą? –

+2

Ok. po prostu ustawia zawartość UIView self.backgroundColor = [UIColor clearColor]. to był długi czas naprawiania bardzo prostego błędu. –

9

Dla tych, którzy nie mając jasnej odpowiedzi na to. Idzie:

umieścić obraz główny manekina do widoku głównego i ustawić go na pożądany obraz tła lub ustawić kolor tła jako wzór, a następnie w tym widoku umieścić widok przewijania i ustawić jego tło jako przezroczyste.

Następnie uzyskuje się pożądany efekt, podobnie jak w przypadku przeglądarki Safari na iPadzie, na przykład na przewinięciu strony.

To jest kod dla Monotouch, ale jest prosty do zrozumienia.

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]; Działa doskonale dla mnie! Dzięki, Pavel. –

17

To jest rzeczywiście bardzo proste, a UIScrollView dziedziczy ze UIView więc wystarczy ustawić właściwość backgroundColor:

aScrollView.backgroundColor = [UIColor clearColor]; 

Powyższy wiersz kodu ustawia kontekst przezroczysty, dzięki czemu można zobaczyć do tego, co chcesz położyć. Zauważ także, że powinieneś zrobić to samo z widokami podrzędnymi umieszczonymi wewnątrz widoku przewijania - te widoki powinny również mieć przezroczysty kolor tła.

Jeśli chcesz uzyskać statyczny obraz, użyj wzoru, jak w poniższym wierszu kodu. Może to być obraz tekstury mniejszy niż ekran, który będzie powtarzany/układany lub obraz pełnoekranowy, aby nie było żadnych powtórzeń.

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

Biorąc pod uwagę łatwość tej techniki, myślę, że musi to być system iOS 4+ lub nawet iOS 5+. Czy ktoś może potwierdzić? –

+0

to nie działa –

+3

Widoki umieszczane wewnątrz widoku przewijania również muszą mieć wyraźny kolor tła. – jhabbott

2

Próbowałeś tego

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

Ten pracował dla mnie ...

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