UINavigationBar带有静态图像

时间:2009-11-17 01:20:32

标签: iphone objective-c cocoa-touch uikit

将图像添加到UINavigationItem的titleView非常简单,但是当我在堆栈上推送一个新视图时,它会动画UINavigationItem向左滑动,以及titleView,并加载一个新的UINavigationItem。

我可以想出一些方法可以让这个图像保持不变,但它们看起来都非常糟糕。有没有正常的做法,我找不到?以下是将图像添加到视图控制器的UINavigationItem的代码:

UIImage *tImage = [[UIImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"logo_topbar" ofType:@"png"]];
UIImageView *tImageView = [[UIImageView alloc] initWithImage:tImage];
self.navigationItem.titleView = tImageView;
[tImage release];
[tImageView release];

谢谢你们/女士们

2 个答案:

答案 0 :(得分:2)

你可以将相同的titleView添加到你希望它出现的所有UIViewControllers上,但我猜想这会让ImageView被动画到左边,一个新的同一个来自右边。

我看到的唯一方法就是像这样添加UIImageView:

[self.navigationController.view addSubview:tImageView];

或试试这个

[self.navigationController.navigationBar addSubview:tImageView];

答案 1 :(得分:2)

我想你可以将整个视图嵌入到超级视图中,静态图像位于现有UI下方。然后,您可以使UINavigationItems中的标题透明,这样按钮将在图像上滑动,但图像将保持不变。