2009-06-05 9 views
0

Mein Setup ist ein UIScrollView in der Mitte des Bildschirms (auf dem iPhone - wie 300x400 in der Mitte positioniert), die eine UIView der gleichen Breite enthält, also scrollt es vertikal. In dieser UIView zeichne ich benutzerdefinierte Subviews mit Labels etc (es ist eine Anzeigetafel mit verschiedenen Farben).Zeichnen eines Schattens unter einem UIScrollView (das eine UIView scrollt)

Was ich gerne hätte, wäre ein Schatten unter meinem UIScrollView, so dass die gesamte scrollende Anzeigetafel über meinem Hintergrund schwebt.

Ich habe diesen schönen Beitrag How do I draw a shadow under a UIView? finde ich diesen Code in meiner Scrollunterklasse verwenden, aber es ist nicht für mich arbeiten. Vielleicht, weil ich die tatsächlichen Formen nicht in DrawRect der ScrollView zeichne: (da sie auf der UIView gezeichnet sind).

Auch ich denke, dass, um die Ansicht in der ScrollView und den Schatten der ScrollView außerhalb der Scroll-Bereich scrollen zu lassen, ich denke, ich sollte die "Grenzen" der ScrollView erweitern, nicht wahr?

+0

Ich habe nur eine UIImageView verwendet und hatte den Schatten in einem Bild am Ende. Ich habe es nicht geschafft, etwas anderes zur Arbeit zu bringen. – Dimitris

Antwort

0

Wie wäre es mit dem expliziten Ausfüllen des gesamten self.bounds-Rechtecks ​​in Ihrer Bildlaufunterklasse 'drawRect: Methode vor dem Aufruf super?

Eine andere Idee ist, die Bildlaufansicht innerhalb einer anderen Ansicht zu platzieren, die die Schattenzeichnung ausführt.

2

Es ist nicht ganz klar zu mir, was Sie fragen, aber wenn Sie die Scrollview Inhalt Sie einfach ein statisches Bild scrollen wollen eine UIView (oder eher eine UIImageView), um Ihre Super hinzufügen müssen und fügen Sie dann Ihre UIScrollView dazu. Wenn Sie, dass er Hintergrundfarbe des UIScrollView setzen celarColor zu sein, wird das Hintergrundbild durchscheinen - so haben Sie einen Blick Hierarchie wie:

  1. UIWindow
  2. UIView < ----- Ihr Hintergrund hier
  3. UIScrollView
  4. Scrolling Subviews < ----- Highscore-Tabelle hier

Wenn Sie Ihren Highscore-Tabelle in den Scroll-Subviews mit Core Graphics zeichnen, die ein nswer in der Frage, mit der Sie verknüpft haben, funktioniert auch.

+0

Ich würde lieber kein statisches Bild verwenden. Da kann sich meine Punktzahl UIView Höhe ändern. Es könnte 2 Zeilen, dann 5 Zeilen und dann größer als die gesamte ScrollView-Höhe sein. – Dimitris

+0

Der Ansatz funktioniert mit einem gezeichneten Hintergrund in Ansicht 2. –

+0

Skalieren Sie das Bild einfach auf die richtige Größe. – JOM