UIImageView *navBarImageView = [[UIImageView alloc] initWithImage:navBarImage];
[navBarImageView setFrame:CGRectMake(0, 0, 320, 44)];
self.navigationItem.titleView = navBarImageView;
[navBarImageView release];
我正在尝试将图像添加到我的navigationBar,但是当我使用上面列出的代码时,它会将图像放入navigationBar,但在图像的左侧和右侧留下灰色间隙。图像是在320x44处创建的,我不知道为什么它会调整大小,尽管我正在设置框架。
答案 0 :(得分:2)
那可能不是你想要做的 - 这不是titleView
的用途。执行自定义导航栏背景的常用方法是在UINavigationBar
上创建一个类别,如下所示:
@implementation UINavigationBar(MyCustomBackground)
- (void)drawRect:(CGRect)r
{
[[UIImage imageNamed:@"my-navigation-background.png"] drawInRect:self.bounds];
}
@end
将其扔在项目的.m文件中,您应该会看到所有导航栏都使用“my-navigation-background.png”作为背景。