我有一个UINavigationBar
. 它barPosition
是UIBarPositionTopAttached
。比我-(void)drawRect:(CGRect)rect
在我的子类中覆盖。作为参数的rect
, 总是 44 px 高度,我只能在这个矩形内绘制。所以,我无法在状态栏上进行绘图,它具有默认外观。如果我注释掉-drawRect
,它看起来像预期的那样,导航栏和状态栏看起来是一个整体,并且有 64 像素的高度。-drawRect:
有没有办法通过在子类中覆盖来实现这种效果UINavigationBar
?
问问题
813 次
1 回答
0
当我在 drawRect 中添加图像时,我遇到了一个带有背景图像的自定义 UINavigationBAr 的问题,该问题不会出现在 iOS 7 的半透明状态栏下。
将背景图移到 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 …
希望这会有所帮助
于 2013-11-12T00:22:07.253 回答