I have a few pages that require login, so all controllers that link to these pages start with
$this->checkSession(); //...rest of the code
I don't know enough about codeigniter's workflow but it seems to me that you want to redirect to the login page instead of trying to render it. Evidently, none of the code you supplied sends the template to the browser by the time exit() is called.
exit()