自定义 uinavigatonbar 异常
我用这种方式制作了一个自定义导航栏:
@implementation UINavigationBar (UINavigationBarCategory)
- (void)drawRect:(CGRect)rect {
UIImage *img = [UIImage imageNamed: @"navigation_background.png"];
[img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end
现在,当我将特定的视图控制器加载到导航控制器中时,我想添加异常以显示正常的导航栏。
我该如何编码该异常?
I've made a custom uinavigation bar this way:
@implementation UINavigationBar (UINavigationBarCategory)
- (void)drawRect:(CGRect)rect {
UIImage *img = [UIImage imageNamed: @"navigation_background.png"];
[img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end
Now I'd like to add exception to show the normal uinavigation bar when i load an specific viewcontroller into de navigationcontroller.
How can I code that exception?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为 UINavigationBar 上的类别不可能实现这一点。
我建议使用一个子类,例如
CustomNavigationBar
.h
.m
棘手的是,您永远不会自己创建
UINavigationBar
,它都是由 UIKit 处理的。要仅更改某些栏的外观,您必须在运行时手动更改它们的类。导入
并在您的视图控制器中(例如在 viewDidLoad 中),添加
I don't think that's possible with a category on
UINavigationBar
.I would suggest a subclass, say
CustomNavigationBar
.h
.m
The tricky thing is that you never create a
UINavigationBar
yourself, it's all handled by UIKit. To change the appearance of some bars only, you'll have to manually change their class at runtime.Import
And in your view controller (in viewDidLoad for example), add