Iphone 带有静态图像的UINavigationBar

Iphone 带有静态图像的UINavigationBar,iphone,objective-c,cocoa-touch,uikit,Iphone,Objective C,Cocoa Touch,Uikit,将图像添加到UINavigationItem的标题视图非常简单,但是当我在堆栈上推一个新视图时,它会使UINavigationItem与标题视图一起向左滑动,并加载一个新的UINavigationItem 我可以想出很多方法来让这张照片保持原样,但它们看起来都很粗糙。有没有我找不到的正常方法?以下是将图像添加到我的视图控制器的UINavigationItem的代码: UIImage *tImage = [[UIImage alloc] initWithContentsOfFile:[[NSBun

将图像添加到UINavigationItem的标题视图非常简单,但是当我在堆栈上推一个新视图时,它会使UINavigationItem与标题视图一起向左滑动,并加载一个新的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];

谢谢各位,你可以将相同的标题视图添加到所有UIViewControllers中,你希望它出现在上面,但是我想这会让ImageView在左边显示动画,而在右边显示一个新的相同标题视图

我看到的唯一方法是添加UIImageView,如下所示:

[self.navigationController.view addSubview:tImageView];
或者试试这个

[self.navigationController.navigationBar addSubview:tImageView];

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

此解决方案听起来很有趣,但我不相信这是最好的方法。你是说除了按钮之外,整个导航栏都是透明的吗?然后在下面放一个bar+徽标的截图?因为如果你只是使基础图像上的UINavigationItem透明,它也会在转换过程中移动,从而在基础徽标上产生更奇怪的窗口效果。我认为这有点模糊,但我会继续接受它,因为我认为这种方法的一种变体是唯一没有完全定制导航条的方法。为了避免出现奇怪的窗口,您可能必须至少对整个条进行子类化,并自己管理子元素的布局。