在绘制自定义UINavigationBar的,连接至顶部(Drawing in custom UIN

2019-10-18 19:50发布

我有一个子类UINavigationBar 。 这是barPositionUIBarPositionTopAttached 。 比我重写-(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