在iOS 6中,我使用了这种方法
- (void)drawRect:(CGRect)rect
{
// Drawing code
UIImage *image = [UIImage imageNamed: @"nav_bar.png"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
但是,当我在iOS 7中使用此功能时,它仅涵盖了将状态栏留空的情况,我已经尝试使用较大的图像,但它不起作用。
但最重要的是,我想在导航栏中使用半透明选项,它是否兼容半透明并在导航栏中具有自定义图像?
如果我已正确理解您的问题(如果无法理解,请您道歉),您也希望将导航背景图像扩展到状态栏的后面。
您可以尝试以下代码:
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"nav_bar.png"] forBarMetrics:UIBarMetricsDefault];
为了使nav_bar.png图像也位于状态栏的后面,您需要在图像高度上添加20px。导航栏的高度为44像素。
基本上,nav_bar.png的宽度必须为320px,广告高度为64px。然后它将在状态栏后面。
我建议使用iOS 7时,不要使用浮华的图形(如Yanchi所说),而只能使用简单的颜色。选择白色或黑色默认值,或使用以下代码更改导航栏的颜色:
self.navigationController.navigationBar.barTintColor = [UIColor #Choose a colour#];
您用UIColor(例如blueColor或redColor)替换#选择颜色#。您还可以通过编程将半透明设置为YES。
self.navigationController.navigationBar.translucent = YES;
要回答有关是否可以使导航栏变为半透明的最后一个问题,如Yanchi所说,您将只能更改实际图像的Alpha。如果您想要模糊效果(iOS 7风格),则不起作用。我已经尝试过了,似乎没有办法。它仅适用于纯色(使用我提到的UIColor代码)。
希望能有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句