Wie wechsle ich von einem Kapitel zum anderen?

Nov 28 2020

Ich habe eine Webansicht. Jedes Mal, wenn der Benutzer auf die nächste Schaltfläche klickt, lade ich die Webansicht mit neuem Inhalt:

 webView.loadHTMLString(bodyText, baseURL: nil)

Wie erstelle ich den folgenden Übergang, sodass bei jedem nächsten Klick eines Benutzers eine neue Seite von rechts angezeigt wird?

Siehe Link zum Beispiel

https://imgur.com/bCgk5qs

Folgendes habe ich bisher

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

Antworten

matt Nov 28 2020 at 17:56

Ich habe eine App im App Store, die sich so verhält, wie Sie es zu beschreiben scheinen. Es zeigt seine Hilfe als Webansichten, die aus HTML-Zeichenfolgen geladen werden, genau wie Sie es tun. Der Benutzer kann entweder mit den Pfeiltasten (oben links) oder manuell mit einem Finger nach rechts und links navigieren. Dieser Screencast zeigt beide; Zuerst benutze ich die Pfeiltasten, dann schiebe ich manuell:

Wie geht das? Es ist trivial; Es ist ein UIPageViewController. Sie müssen kein Rad neu erfinden, das Apple uns bereits übergeben hat.