Bagaimana cara beralih dari satu bab ke bab lainnya?

Nov 28 2020

Saya memiliki tampilan web. Setiap kali pengguna mengklik tombol berikutnya, saya memuat tampilan web dengan konten baru:

 webView.loadHTMLString(bodyText, baseURL: nil)

Bagaimana cara membuat transisi berikut sehingga tampak seperti halaman baru yang masuk dari kanan setiap kali pengguna mengklik berikutnya?

Lihat tautan misalnya

https://imgur.com/bCgk5qs

Inilah yang saya miliki sejauh ini

let webViewToRemove = webView
let webViewToAdd = WKWebView()
webViewToAdd.frame = webViewToRemove?.frame as! CGRect
if (swipeLeft) {
    webViewToAdd.center = CGPoint(x: 2.0*self.view.bounds.width, y: webView.bounds.midY)
} else {
    webViewToAdd.center = CGPoint(x: -2.0*self.view.bounds.width, y: webView.bounds.midY)
}
webView = webViewToAdd
webView.loadHTMLString(bodyText, baseURL: nil)
self.view.addSubview(webViewToAdd)
UIView.animate(withDuration: 1.0, animations: {
    if (swipeLeft) {
        webViewToRemove?.center = CGPoint(x: -2.0*self.view.bounds.width, y: self.webView.bounds.midY)
    } else {
        webViewToRemove?.center = CGPoint(x: 2.0*self.view.bounds.width, y: self.webView.bounds.midY)
    }
    webViewToAdd.center = CGPoint(x: self.view.bounds.midX, y: self.webView.bounds.midY)
    }, completion: { finished in
        webViewToRemove?.removeFromSuperview()
})

Jawaban

matt Nov 28 2020 at 17:56

Saya memiliki aplikasi di toko aplikasi yang berfungsi seperti yang Anda gambarkan. Ini menunjukkan Bantuannya sebagai tampilan web yang dimuat dari string html, seperti yang Anda lakukan. Pengguna dapat menavigasi ke kanan dan kiri baik dengan tombol panah (kiri atas) atau dengan menggeser secara manual dengan jari. Screencast ini menunjukkan keduanya; pertama saya menggunakan tombol panah, lalu saya geser secara manual:

Bagaimana caranya? Itu sepele; ini adalah UIPageViewController. Tidak perlu menemukan kembali roda yang telah diserahkan Apple kepada kami.