如何把图像作为导航栏标题
我想把一个.png图像放在导航栏的中间,而不是写在文本中的标题。 你能不能让我知道该怎么做?
谢谢。
设置navigationItem的titleView
UIImage *image = [UIImage imageNamed:@"image.png"]; self.navigationItem.titleView = [[UIImageView alloc] initWithImage:image];
迅速
包括build议的框架/缩放
let image : UIImage = UIImage(named: "image.png")! let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 40, height: 40)) imageView.contentMode = .ScaleAspectFit imageView.image = image self.navigationItem.titleView = imageView
您可以更改UINavigationBar中的所有视图。 如果您尝试在导航控制器中更改导航栏,请执行以下操作:
self.navigationItem.titleView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.png"] autorelease];
如果你正在创buildnavigationBar自己做同样的事情,而不是调用self.navigationItem
调用: navigationBar.topItem
用Swift 2.x更新
navigationItem.titleView = UIImageView.init(image: UIImage(named:"yourImageName"))
寻找这个问题的答案,我已经find了一个很好的和简单的解决scheme,在苹果讨论论坛 ,重写-(void)drawRect:(CGRect)rect
UINavigationBar
:
@implementation UINavigationBar (CustomImage) - (void)drawRect:(CGRect)rect { UIImage *image = [UIImage imageNamed: @"NavigationBar.png"]; [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; } @end