Использование категории, вероятно, не лучшая идея в этом случае (если вы переопределите drawRect:
, используя категорию, все UINavigationController
s будут затронуты). Вам лучше было бы создать подкласс UINavigationController и использовать пользовательский подкласс только на той вкладке, которую вы хотите.
Редактировать: Субклассирование UINavigationController довольно просто:
(в файле .h)
@interface MyCustomNavigationController : UINavigationController {
}
@end
(в файле .m)
@implementation MyCustomNavigationController
-(void)drawRect:(CGRect)rect {
//custom drawing here
}
@end
Затем используйте MyCustomNavigationController
вместо UINavigationController
в своем коде, где это необходимо. Категории (которые вы использовали в образце) хороши для добавления вспомогательных методов к существующим классам, но могут быть опасны при замене уже существующих методов (поскольку ваш пользовательский метод заменит исходный для всех применений).