Jak przejść z jednego rozdziału do drugiego?

Nov 28 2020

Mam przeglądarkę internetową. Za każdym razem, gdy użytkownik kliknie następny przycisk, ładuję widok internetowy z nową zawartością:

 webView.loadHTMLString(bodyText, baseURL: nil)

Jak utworzyć następujące przejście, aby wyglądało na to, że nowa strona nadchodzi z prawej strony, gdy użytkownik kliknie następną stronę?

Zobacz link na przykład

https://imgur.com/bCgk5qs

Oto, co mam do tej pory

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()
})

Odpowiedzi

matt Nov 28 2020 at 17:56

Mam aplikację w sklepie z aplikacjami, która zachowuje się tak, jak opisujesz. Pokazuje swoją Pomoc jako widoki internetowe ładowane z ciągów html, tak jak robisz. Użytkownik może poruszać się w prawo i w lewo za pomocą przycisków strzałek (w lewym górnym rogu) lub przesuwając ręcznie palcem. Ten screencast pokazuje oba; najpierw używam strzałek, potem przesuwam ręcznie:

Jak to się robi? To trywialne; jest to UIPageViewController. Nie ma potrzeby odkrywania na nowo koła, które Apple już nam przekazał.