Потому что вы включаете код в свое приложение, когда компилируете его. #import
только делает текущий контекст (.h
или .m
) осведомленным о методах в этой категории.
Любая категория, которая скомпилирована в ваше приложение, будет загружаться все время, пока ваше приложение run.
Чтобы удалить категорию из добавленной вами цели, удалите файл категории .m из вашего файла Target->Build Phase->Compile Sources
.
вашего приложения. Предполагая, что вы хотите, чтобы некоторые из ваших навигационных панелей кода, но не ВСЕ из них, лучший способ сделать это, вероятно, для подкласса UINavigationBar. (Кстати, вы хотите называть [super drawRect:rect]
в вашем подклассе)
Редактировать: альтернативный метод добавления изображения в UINavigationBar,
В любом контроллере просмотра вы хотите, чтобы изображение появится, просто добавьте self.navigationItem.titleView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"header.png"]] autorelease];
в viewWillAppear: