However quirky, I suspect that this is correct behaviour. From the Apple doc:
webViewDidFinishLoad:
Sent after a web view finishes loading a frame.
My bet is that the UIWebView caches a certain number of pages, and the goBack
and goForward
methods do not guarantee that locations stored in the back-forward list are reloaded. And thus does not fire webViewDidFinishLoad
.
But even though this is might be correct behaviour, I would certainly agree that this is bad API design. There should definitely be a finishLoad
-ish method to hook into for back/forward/in-page navigation.