Weak scrollView property gets cleared before we are able to unregister the observer. Use __unsafe_unretained instead.
Use navigation controller as the root view controller.