Wenn keine der anderen Lösungen für Sie funktioniert, überprüfen Sie, ob Ihre Bildlaufansicht tatsächlich ein UIScrollViewInterface Builder ist.
Irgendwann in den letzten Tagen wechselte mein UIScrollView Typ spontan zu a UIView, obwohl seine Klasse dies UIScrollViewim 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 UIScrollViewin der xibDatei ä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->ProjectsWä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->pressund 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 viewDidLayoutSubviewsBildlaufansicht einstellen oder das automatische Layout deaktivieren, sondern YMMV.