Сделать скрытыми только панель навигации UINavigationController? - PullRequest
0 голосов
/ 09 августа 2011

Я знаю, как скрыть панель навигации navigationController:

@implementation UINavigationBar (custom)
    - (void)drawRect:(CGRect)rect {}
@end

Однако при отображении UIImagePickerController он также применяется к нему.

UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
picker.navigationBar.tintColor = [UIColor blackColor];
picker.navigationBar.barStyle = UIBarStyleBlackOpaque; // Or whatever style.
[self presentModalViewController:picker animated:NO];

Есть ли способ сделать прозрачной только часть навигационной панели контроллера навигации?

Спасибо.

1 Ответ

0 голосов
/ 09 августа 2011

Если вам нужно -drawRect:, чтобы вести себя по-разному для разных экземпляров UINavigationBar, вы можете использовать что-то вроде objc_setAssociatedObject, чтобы записать какой-то индикатор того, должен ли он быть прозрачным.Затем в -drawRect: вы можете использовать objc_getAssociatedObject на self, чтобы узнать, что делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...