Steps in subclassing UINavigationController

≯℡__Kan透↙ 提交于 2019-11-30 09:35:38
nicktmro

You should NOT extend UINavigationController.

As of iOS 6, this information is outdated. From the Xcode 5 docs: You generally use this class as-is but in iOS 6 and later you may subclass to customize the class behavior.

Original outdated information follows:

From the documentation:

The UINavigationController class implements a specialized view controller that manages the navigation of hierarchical content. This class is not intended for subclassing. Instead, you use instances of it as-is in situations where you want your application’s user interface to reflect the hierarchical nature of your content.

You may want to consider creating categories or subclassing your UINavigationBar and potentially creating custom UIButtons that you use to create UIBarButtonItems.

Whenever you deal with a UI component that extends from UIView what you should consider doing is subclassing and overriding

- (void)drawRect:(CGRect)rect

There are plenty of examples here on stackoverflow or on Apple's official documentation site.

Angel

Now you can subclass UINavigationController, see updated documentation:

The UINavigationController class implements a specialized view controller that manages the navigation of hierarchical content. This navigation interface makes it possible to present your data efficiently and also makes it easier for the user to navigate that content. This class is generally used as-is but may be subclassed in iOS 6 and later.

UINavigationController Class Reference

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!