webentwicklung-frage-antwort-db.com.de

Scrollen durch UIScrollView im Interface Builder für Xcode 4

Dies scheint mir ein weit verbreitetes Problem zu sein, aber ich kann nirgendwo eine Antwort finden. Diese Frage scheint das Problem zu lösen, aber ich kann die Lösung scheinbar nicht zum Laufen bringen und bin mir nicht sicher, ob sie sich auf Xcode 4 bezieht.

Wenn Sie Interface Builder in Xcode 4 verwenden und mit einem UIScrollViewarbeiten, gibt es eine Möglichkeit, die Ansicht im Interface Builder selbst nach unten zu scrollen, um Steuerelemente anzuzeigen/hinzuzufügen/zu bearbeiten, die außerhalb des sichtbaren Bereichs des Bildschirms liegen? Ich habe es geschafft, einige Steuerelemente mit den Pfeiltasten nach unten zu drücken, kann sie jetzt jedoch nicht sehen und daher nicht im Interface Builder bearbeiten. Ein Bildlauf in der Ansicht in IB wäre der erste Preis, aber wenn es eine Möglichkeit gibt, die Steuerelemente auch über ein Dropdown-Menü auszuwählen, oder was auch immer, kann ich sie mit den Pfeiltasten wieder nach oben drücken, wäre das zumindest etwas. Vielen Dank.

25
Kongress

Nur eine Problemumgehung, die in Xcode4 hilft:

  1. Erweitern Sie das Bedienfeld Objekte, das sich links in der Interface Builder-Ansicht befindet (am unteren Rand des Bedienfelds befindet sich ein kleiner Pfeil).
  2. Ziehen Sie Ihre UIScrollView aus der Ansichtshierarchie und platzieren Sie sie auf der obersten Ebene.
  3. Jetzt können Sie die Größe ändern, um auf weitere Inhalte zuzugreifen (das Scrollen zu diesen Inhalten hat bei mir nicht funktioniert).
  4. Wenn Sie der Bildlaufansicht keine untergeordneten Ansichten mehr hinzugefügt haben, müssen Sie die Größe zurücksetzen, damit sie kleiner oder gleich der Größe der übergeordneten Ansicht ist.
  5. Nach Ihren Änderungen müssen Sie die Bildlaufansicht an die Stelle in Ihrer Hierarchie zurücksetzen
24
marcus

Setzen Sie den Simulated Size des ViewControllers auf Freeform und setzen Sie eine sehr große height. Zum Beispiel: 1000 und voilà! Sie können jetzt scrollen, um alles zu sehen und noch mehr hinzuzufügen! :)

P.S: Denken Sie daran, set Fixed zu setzen, wenn Sie fertig sind, um Probleme zu vermeiden!

 enter image description here

22
KrLx_roller

Ich mache normalerweise Folgendes, wenn ich einen langen Bildlauf-Bildschirm erstellen möchte (muss):

  1. Stellen Sie die Größe des View Controllers auf Freiform ein
  2. Stellen Sie die Höhe der Ansicht der obersten Ebene auf einen sehr großen Wert ein
  3. Ordnen Sie alle gewünschten Steuerelemente in der Ansicht an
  4. Wählen Sie alle Steuerelemente aus
  5. Wählen Sie Editor-> Einbetten in-> Bildlaufansicht
  6. Stellen Sie die Größe des View Controllers wieder auf normal ein (normalerweise abgeleitet).
6

Nun, es gibt ein paar verschiedene Dinge, die Sie tun können. In Ihrer Ansicht befindet sich eine Liste von Elementen, die Sie links im Arbeitsbereich öffnen können, indem Sie auf die Schaltfläche klicken, die wie eine kleine Wiedergabeschaltfläche in der Symbolleiste aussieht. Durch Doppelklicken auf ein Element wird es ausgewählt, sodass Sie die Pfeiltasten verwenden können.

Die beste Option ist, das Layoutfenster (normalerweise rechts) zu verwenden und die Positionswerte manuell einzugeben. Manchmal verwende ich dies, um meine Bildlaufansicht nach oben zu verschieben, wo ich sehen kann, wo ich arbeite, und verschiebe sie dann zurück.

5
Dancreek

Ich weiß, dass dies nicht genau das ist, wonach Sie gesucht haben, aber ich ziehe die Bildlaufansicht immer einfach aus dem Ansichts-Controller auf das "Pasteboard", wo Sie die Größe nach Belieben ändern und das Ganze sehen können.

Sobald ich meine Änderungen vorgenommen habe, passe ich sie einfach an den zugewiesenen Platz in meiner Ansicht an und platziere sie wieder im Ansichtscontroller.

0
JRulle

stellen Sie die Stammansicht auf Freiform und ~ 1000 pt Höhe ein, gehen Sie die untergeordneten Ansichten durch und stellen Sie diese ebenfalls auf diese Höhe ein (einschließlich der Bildlaufansicht). Stellen Sie in der viewdidload-Methode die Höhe auf die entsprechende Größe ein.

0
snowcamel

Ich habe eine Lösung gefunden, obwohl Sie einen Table-View-Controller verwenden müssen. Wenn Sie die Tabelle als statisch definieren, funktioniert der Bildlauf im Interface Builder, wenn die Tabelle größer als die Fenstergröße ist. Darüber hinaus kann eine Standardansicht am oberen und unteren Rand der Tabelle hinzugefügt werden. Diese Ansichten können auch gescrollt werden. Der Bildlauf wird ausgeführt, sobald der Controller ausgewählt wurde. Ich hoffe, Sie finden diesen Trick nützlich.

0
Jorge Perez