To be 100% transparent, this should probably check if the previous delegate *also* implements `navigationController:didShowViewController:animated` and, if so, call the original implementation as well. Alternatively, you could document clearly in the header that the existing delegate's `didShow` method will not be called.