Jika tidak ada solusi lain yang berfungsi untuk Anda, periksa kembali apakah tampilan gulir Anda sebenarnya adalah a UIScrollView di Interface Builder.
Pada beberapa titik dalam beberapa hari terakhir, UIScrollView tipe spontan saya berubah menjadi a UIView, meskipun kelasnya mengatakan UIScrollViewdi inspektur. Saya menggunakan Xcode 5.1 (5B130a).
Anda dapat membuat tampilan gulir baru dan menyalin pengukuran, pengaturan, dan batasan dari tampilan lama, atau Anda dapat secara manual mengubah tampilan Anda ke UIScrollViewdalam xibfile. Saya melakukan perbandingan dan menemukan perbedaan berikut:
Asli:
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" directionalLockEnabled="YES" bounces="NO" pagingEnabled="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Wsk-WB-LMH">
...
</scrollView>
Setelah jenis berubah secara spontan:
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" customClass="UIScrollView" id="qRn-TP-cXd">
...
</view>
Jadi saya mengganti <view>garis dengan <scrollView>garis asli saya .
Saya juga mengganti tag penutup tampilan </view>dengan </scrollView>.
Pastikan id tetap sama dengan tampilan saat ini, dalam hal ini: id = "qRn-TP-cXd".
Saya juga harus menyiram xib dari cache Xcode dengan menghapus data turunan aplikasi:
Xcode->Window->Organizer->Projects, pilih proyek Anda, pada baris Data Turunan, klik Hapus ...
Atau jika menggunakan perangkat:
Xcode->Window->Organizer->Device, pilih perangkat Anda-> Aplikasi, pilih aplikasi Anda, klik (-)
Sekarang bersihkan proyek, dan hapus aplikasi dari simulator / perangkat:
Xcode->Product->Clean
- iOS
Simulator/device->pressdan tahan app->clicktombol (X) untuk menghapusnya
Anda kemudian dapat membangun dan menjalankan aplikasi Anda dan memiliki fungsi gulir lagi.
PS Saya tidak perlu mengatur ukuran konten tampilan gulir viewDidLayoutSubviewsatau mematikan tata letak otomatis, tetapi YMMV.