繁体   English   中英

是否只隐藏一些UINavigationController的NavigationBar?

[英]Make only some UINavigationController's NavigationBar hidden?

我知道如何隐藏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的某些部分透明化?

谢谢。

如果您需要-drawRect:在不同的UINavigationBar实例上表现不同,则可以使用objc_setAssociatedObject类的objc_setAssociatedObject来记录是否透明的一些指示。 然后在-drawRect:您可以在self上使用objc_getAssociatedObject找出要执行的操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM