我有一个子类UINavigationBar
。 这是barPosition
是UIBarPositionTopAttached
。 比我重写-(void)drawRect:(CGRect)rect
在我的子类。 该rect
,那当属参数,始终44像素高度,我可以在这个矩形内只绘制。 所以,我不能在状态栏进行绘图,它有默认的样子。 如果我评论-drawRect
了,比它看起来不如预期,导航栏和状态栏的外观为一体,并具有64像素高度。 有没有一种方法来实现与具有overrided这种效果-drawRect:
在子类UINavigationBar
?
Answer 1:
我有一个自定义的UINavigationBar的的问题与不透光状态栏下出现在iOS 7,当我在drawRect中添加图像的背景图像。
移动背景图片到ViewControllers viewDidLoad方法之后,背景图片,然后出现状态栏下
-(void)viewDidLoad
{
if (UI_USER_INTERFACE_IDIOM() != UIUserInterfaceIdiomPad)
{
UIImage *image = [UIImage imageNamed:@"nav-bg-ipad.png"];
[self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
}else{
UIImage *image = [UIImage imageNamed:@"nav-bg-iphone.png"];
[self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
}
// do your other stuff now …
希望这有助于
文章来源: Drawing in custom UINavigationBar, attached to top