UIScrollView setContentSize funktioniert nicht

8

Ich habe ein wirklich großes Problem mit UIScrollView. Um sicherzustellen, dass es sich nicht um mein aktuelles Projekt handelt, habe ich ein NEUES Projekt, nur iPhone, für iOS 6 und 7 erstellt. Ich deaktiviere das automatische Layout .

  1. Ich habe ein Tab Bar-Projekt erstellt
  2. Ich habe einen View-Controller erstellt, hat es in einen Navigationscontroller eingebettet und als Tab-Leiste verbunden Element # 0
  3. Ich habe eine UIScrollView in meiner Sicht.
  4. Ich habe die Scrollview im benutzerdefinierten UIViewController für diese Ansicht verbunden.
  5. Ich habe mein IBOutlet synthetisiert und den Delegierten auf self gesetzt. ich auch Implementierter Delegierter in .h

Hier ist mein Code (ViewDidLoad):

%Vor%

Er gibt mir "contentSize width 20000.000000", "contentSize height 0.000000 "und" [1, 0, 0, 1, 0, 0] ". Es scrollt nach links-rechts, wo es nach oben / unten scrollen sollte

Bitte helfen Sie!

    
anthoprotic 11.12.2013, 21:35
quelle

5 Antworten

36

Ich hatte das gleiche Problem, bis ich merkte, dass ich den Delegierten von UIScrollView nicht eingestellt hatte. Wenn Sie das automatische Layout verwenden, müssen Sie außerdem darauf warten, dass das Layout auf UIScrollView angewendet wird. Dies bedeutet, dass Sie die Inhaltsgröße in "viewDidLayoutSubviews" festlegen sollten.

    
mr.sosa 06.02.2014 04:28
quelle
4

In der viewDidLoad-Methode ist der Frame möglicherweise nicht korrekt. Verschieben Sie den Code in diese Methode:

%Vor%     
quaertym 11.12.2013 21:44
quelle
3

Okay, es ist absolut nichts falsch mit Ihrem Code. Also ein paar Vorschläge:

  1. Stellen Sie sicher, dass Sie Ihre .h-Datei wie folgt hinzugefügt haben:

    %Vor%
  2. Versuchen Sie, dieses Code-Snippet in die "viewWillLoad" -Methode zu verschieben:

    %Vor%
JustAnotherCoder 12.12.2013 00:29
quelle
3

Verwenden Sie diesen Code. ScrollView setContentSize sollte im Haupt-Thread async aufgerufen werden.

%Vor%     
Armenia 02.09.2016 12:49
quelle
0
%Vor%

Arbeiten Swift 3.X-Code. Umgewandelt @ Armeniens Antwort.

    
Anuraag D Jain 21.04.2017 18:29
quelle