2

Я пытаюсь изменить кнопки панели навигации UIImagePickerController. До сих пор я только успел сменить кнопку элемента правого бара (кнопку «Отмена»):Настройка элементов навигации UIImagePickerController

- (void)navigationController:(UINavigationController *)navigationController   
     willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { 

     UINavigationBar *bar = navigationController.navigationBar; 
     UINavigationItem *top = bar.topItem; 
     top.title = @"Photos"; 
     UIImage *buttonImageCancel = [UIImage imageNamed:@"DoneBarButton.png"]; 
     UIButton *buttonCancel = [[UIButton alloc] initWithFrame:CGRectMake(0,5,55, 29)]; 
     [buttonCancel setBackgroundImage:buttonImageCancel forState:UIControlStateNormal]; 
     [buttonCancel addTarget:self action:@selector(imagePickerControllerDidCancel:) forControlEvents:UIControlEventTouchUpInside]; 
     [buttonCancel setTitle:@"Cancel" forState:UIControlStateNormal]; 
     [buttonCancel setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 
     [[buttonCancel titleLabel] setFont:[UIFont boldSystemFontOfSize:10]]; 
     UIBarButtonItem *barButtonCancel = [[UIBarButtonItem alloc] initWithCustomView:buttonCancel]; 
     [top setRightBarButtonItem:barButtonCancel]; } 

Но в других контроллерах зрения (например, «Photo Library») «Отмена» кнопка старой один раз , Кроме того, после переключения на режим главного выбора, настроенная кнопка «Отмена» снова заменяется стандартной. Кто-нибудь знает, как сменить эти кнопки? Наследование? Большое спасибо!

ответ

1

Метод, который вы реализовали, вызывается только при нажатии контроллера вида. Если вы хотите внести изменения в весь сборщик, вы можете использовать категорию навигационного контроллера.

+0

Спасибо, ctreave. Как мне это реализовать? – saeppi

+0

сделать категорию в UINavigationController и реализации, как следующим образом: осуществление UINavigationBar (MyNavigationBar) - (Недействительными) DrawRect: (CGRect) прямоугольник { // установить кнопки здесь } @end вы можете попробовать это [ссылка] (https: //developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocCategories.html#//apple_ref/doc/uid/TP30001163-CH20-TPXREF139) –

+0

Новая категория в UINavigationController или UINavigationBar? – saeppi