2009-06-24 5 views
5

Ich erstelle eine Anwendung für das iPhone, die Schaltflächen enthält, die eine Bildansicht animieren, ich erstellte eine andere Ansicht, in der die Tasten gehalten werden, jedoch möchte ich horizontal oder vertikal diese Ansicht der Schaltflächen scrollen können. Ich habe Scroll-Ansichten hinzugefügt und bin sogar einem Tutorial gefolgt. Aber ich kann einfach nicht herausfinden, wie ich es zu meiner App hinzufügen kann. Irgendwelche Ideen irgendjemand? In dem Tutorial, dem ich folgte, fügt der Typ die Bildlaufansicht zur MainWindow.xib hinzu, jetzt wird meine App in der viewcontroller.xib erstellt und entworfen. Nachdem ich dem Tutorial gefolgt bin, als ich auf Build und Go getippt habe, läd ich diese Feder und alles, was du siehst, ist ein weißer Hintergrund und eine Bildlaufansicht. (auch in diesem Tutorial scrollte er ein Bild, wo ich eine lange Ansicht von Knöpfen scrollen möchte) Ich weiß, dass die Neuigkeit meiner Frage verrückt sein könnte, aber ich bin neu im Programmieren von allem zusammen. Hier ist noch eine weitere Frage, wenn jemand mir geholfen hat, diese Bildlauffunktion zu bekommen, wo würden Sie den Inhalt dieser Bildlaufansicht entwerfen, wenn die Länge länger ist als die des iPhone-Bildschirms? Weil es mein Verständnis ist, dass der Raum, zum mit im Schnittstellenerbauer zu entwerfen, die Größe des iphone Schirmes und des Entwerfens der Schnittstellen ist, die länger als der iphone Schirm nicht machbar sind. (natürlich weiß ich, dass es do-fähig ist, ich weiß einfach nicht, wie man es macht) Jede Hilfe wird geschätzt.iPhone SDK: Wie kann ich meiner Anwendung eine Bildlaufansicht hinzufügen?

Antwort

7

Sie können den Inhalt Ansicht (Bildlaufbereich) Dimensionen programmatisch festgelegt:

[scrollView setContentSize:CGSizeMake(contentViewWidth, contentViewHeight)]; 

Und dann fügen Sie Komponenten auf die Scroll-Ansicht mit dem Koordinatensystem der Inhaltsansicht anzuzeigen. So sagen, dass Ihre Ansicht blättern war 100x100 Pixel und Sie die Ansicht blättern wollte doppelt so breit sein:

[scrollView setContentSize:CGSizeMake(200.0f, 100.0f)]; 

Sie dann eine Taste auf jeder Hälfte der Scroll-Ansicht angezeigt werden könnte hinzufügen:

// First half of content view 
button1.frame.origin.x = 10.0f; 
button1.frame.origin.y = 50.0f; 
[scrollView addSubView:button1]; 

// First half of content view 
button2.frame.origin.x = 110.0f; // NOTE that 110 is outside of 
button2.frame.origin.y = 50.0f; // the scroll view frame 
[scrollView addSubView:button2]; 

Sie könnten wahrscheinlich entwerfen jede Seite der Bildlaufansicht als separate Unteransicht in der NIB und dann verschieben Sie den Ursprung der Unteransichten auf die richtige Seite entweder in Interface Builder oder programmgesteuert - , aber ich habe nie versucht, diese. Wenn dies funktioniert, können Sie Ihre Schaltflächen mit IB gestalten.

Ich würde gerne wissen, ob das funktioniert.

+0

Vielen Dank dafür, aber wie würde ich eigentlich eine Bildlaufansicht bekommen, die funktioniert, um Schaltflächen programmgesteuert hinzuzufügen? Weil ich jetzt eine scrollView in meiner Oberfläche habe, aber sie scrollt einfach nicht, wie würde ich sie scrollen lassen? –

+0

Wie haben Sie die Inhaltsansicht konfiguriert? Ist es größer als die Bildlaufansicht? – teabot

+0

Ahh, ja, war es nicht, aber jetzt ist es und es funktioniert, oh und ich löste mein Problem bei der Einstellung des Layouts von etwas visuell in IB das ist größer als das iPhone Bildschirm ohne programmatisch zu tun, im Grunde Sie don ' Sie müssen die gesamte Ansicht von dem, was Sie entwerfen möchten, sehen, nur ein iPhone Bildschirmgröße Abschnitt auf einmal entwerfen. Danke für deinen hilfreichen Rat. –

0

Die meisten Ansichten haben eine .hidden Eigenschaft.

setze es auf YES um zu verstecken -> myscrollview.hidden = YES; auf NO gesetzt -> myscrollview.hidden = NO;

können Sie dieses Verstecken/Zeigen in eine Animation einfügen und den Bildlauf ausblenden.

Suche "einfache Quarz-Animation" - es nur ein paar Zeilen Code.