在UINavigationBar和UIViewController上叠加UIView

Jon*_*han 5 iphone uinavigationbar uiviewcontroller uinavigationcontroller

基本上我想在UINavigationController下面显示一个通知,覆盖最顶层的UIViewController视图占用的区域.但是我希望背景图像向上延伸并部分覆盖UINavigationBar

成品应该如下所示 替代文字

诀窍在于我只希望将其应用于具有视图层次结构的某些视图,因此通过使用来解决问题[UIApplication keyWindow]可能不是最好的主意.另外我假设通过使用私有以外的视图UINavigationTransitionView将不会成为视图过渡动画的一部分,当我弹出这个视图时,将我的视图保留在控制器的顶部.

最顶层视图控制器的视图也没有帮助,因为它的帧终止于底部UINavigationBar,意味着箭头不会重叠UINavigationBar

建议?

谢谢

Aja*_*rma 1

因为看来您面临的问题只是Navigation Bar因为不允许重叠视图。

这是棘手的部分......只需使用自定义后退按钮将图像设置在导航栏按钮左侧

在此输入图像描述

UINavigationBar *bar = [self.navigationController navigationBar];   
UIButton *btn;
btn = [[UIButton alloc] initWithFrame:CGRectMake(5, 2, 100, 48)];
[btn setImage:[UIImage imageNamed:@"left.png"] forState:UIControlStateNormal];
btn.backgroundColor = [UIColor clearColor];
[bar addSubview:btn];
[btn release];
Run Code Online (Sandbox Code Playgroud)

这肯定会帮助您并解决您所有的疑问......在此输入图像描述