Настройка элементов навигации UIImagePickerController - PullRequest
2 голосов
/ 11 марта 2012

Я пытаюсь изменить кнопки панели навигации 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];   }

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

1 Ответ

1 голос
/ 11 марта 2012

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

...