One of the uses can be when you need to create several screens with the same background, and the background does not move when you navigate between screens. In this case you can set the background as a UINavigationController
's view
. Still no need to subclass it...
But when your background becomes more complicated, let's say it's a video playing in loop, controlling the playback of the video may become a UINavigationController
's task. Since there is no way to change the code of UINavigationController
, subclassing it becomes useful.
I'm pretty sure there are another cases for subclassing UINavigationController
, but all of them are rare special cases.