Como fazer a transição de um capítulo para outro?
Eu tenho uma webview. Cada vez que o usuário clica no próximo botão, eu carrego o webview com novo conteúdo:
webView.loadHTMLString(bodyText, baseURL: nil)
Como faço para criar a transição a seguir para que pareça que uma nova página está chegando da direita sempre que um usuário clica em seguida?
Veja o link por exemplo
https://imgur.com/bCgk5qs
Aqui está o que eu tenho até agora
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()
})
Respostas
Tenho um aplicativo na app store que se comporta da mesma forma que você parece estar descrevendo. Ele mostra sua Ajuda como visualizações da web carregadas de strings html, exatamente como o que você está fazendo. O usuário pode navegar para a direita e para a esquerda com os botões de seta (canto superior esquerdo) ou deslizando manualmente com o dedo. Este screencast mostra ambos; primeiro uso os botões de seta e, em seguida, deslizo manualmente:

Como isso é feito? É trivial; é um UIPageViewController. Não há necessidade de reinventar uma roda que a Apple já nos deu.