我知道如何隐藏navigationController的navigationBar:
@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];
有没有办法只使一些navigationController的navigationBar透明?
感谢。
答案 0 :(得分:0)
如果您需要-drawRect:
对UINavigationBar的不同实例采取不同的行为,您可以使用类似objc_setAssociatedObject
的内容来记录它是否应该透明的指示。然后在-drawRect:
中,您可以objc_getAssociatedObject
使用self
来了解该怎么做。