Wenn keine der anderen Lösungen für Sie funktioniert, überprüfen Sie, ob Ihre Bildlaufansicht tatsächlich ein UIScrollView
Interface Builder ist.
Irgendwann in den letzten Tagen wechselte mein UIScrollView
Typ spontan zu a UIView
, obwohl seine Klasse dies UIScrollView
im Inspektor sagte . Ich benutze Xcode 5.1 (5B130a)
.
Sie können entweder eine neue Bildlaufansicht erstellen und die Messungen, Einstellungen und Einschränkungen aus der alten Ansicht kopieren oder Ihre Ansicht manuell in eine UIScrollView
in der xib
Datei ändern . Ich habe einen Vergleich durchgeführt und folgende Unterschiede festgestellt:
Original:
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" directionalLockEnabled="YES" bounces="NO" pagingEnabled="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Wsk-WB-LMH">
...
</scrollView>
Nach spontan geändertem Typ:
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" customClass="UIScrollView" id="qRn-TP-cXd">
...
</view>
Also habe ich die <view>
Leitung durch meine ursprüngliche <scrollView>
Leitung ersetzt.
Ich habe auch das Close-Tag der Ansicht </view>
durch ersetzt </scrollView>
.
Stellen Sie sicher, dass die ID mit der aktuellen Ansicht übereinstimmt. In diesem Fall gilt Folgendes: id = "qRn-TP-cXd".
Ich musste auch die xib aus dem Xcode-Cache leeren, indem ich die abgeleiteten Daten der App löschte:
Xcode->Window->Organizer->Projects
Wählen Sie Ihr Projekt aus und klicken Sie in der Zeile Abgeleitete Daten auf Löschen ...
Oder wenn Sie ein Gerät verwenden:
Xcode->Window->Organizer->Device
, wählen Sie Ihr Gerät-> Anwendungen, wählen Sie Ihre App, klicken Sie auf (-)
Bereinigen Sie nun das Projekt und entfernen Sie die App aus dem Simulator / Gerät:
Xcode->Product->Clean
- iOS
Simulator/device->press
und halten Sie das app->click
(X) gedrückt, um es zu entfernen
Sie sollten dann in der Lage sein, Ihre App zu erstellen und auszuführen und wieder über Bildlauffunktionen zu verfügen.
PS Ich musste nicht die Inhaltsgröße der viewDidLayoutSubviews
Bildlaufansicht einstellen oder das automatische Layout deaktivieren, sondern YMMV.