代码之家  ›  专栏  ›  技术社区  ›  Jonathan

在uinavigationbar和uiviewController上覆盖uiview

  •  5
  • Jonathan  · 技术社区  · 14 年前

    实际上,我想在uinavigationController下显示一个通知,覆盖最上面的uiviewController视图所占据的区域。但是,我希望背景图像向上延伸并部分覆盖uinavigationbar

    成品希望如下

    诀窍在于,我只希望将此应用于具有视图层次结构的某些视图,因此通过使用 [uiapplication keywindow] 攻击问题可能不是最佳想法。另外,我假设通过使用private uinavigationtransitionview之外的视图, 不会成为视图转换动画的一部分,当弹出此视图时,将我的视图留在下面的控制器的顶部。

    最顶端视图控制器的视图也没有帮助,因为它的框架终止于 uinavigationbar ,这意味着箭头不会重叠 uinavigationbar

    建议?

    谢谢uinavigationController,覆盖最上面的uiviewController视图所占的区域。但是,我希望背景图像向上延伸并部分覆盖uinavigationbar

    成品希望如下 alt text

    诀窍在于,我只希望将此应用于具有视图层次结构的某些视图,因此通过使用 [UIApplication keyWindow] 可能不是最好的主意。另外,我假设通过使用private之外的视图 UINavigationTransitionView 不会是视图转换动画的一部分,当弹出此动画时,将我的视图留在下面的控制器顶部。

    最上面的视图控制器的视图也没有帮助,因为它的框架终止于 UINavigationBar ,表示箭头不会与 导航栏

    建议?

    谢谢

    1 回复  |  直到 12 年前
        1
  •  1
  •   Ajay Sharma    12 年前

    因为您似乎面临的问题是 导航栏 只有这样才不允许重叠视图。

    这是一个棘手的部分…… 只需使用“自定义后退”按钮,即可在导航栏按钮左侧的上方设置图像

    uinavigationbar*bar=[self.navigationcontroller navigationbar];
    UBIOTUN*BTN;
    btn=[[uibutton alloc]initWithFrame:cDirectMake(5,2,100,48)]
    [btn setimage:[uiimage imagename:@“left.png”]forstate:uicontrolStateNormal];
    btn.backgroundcolor=[uicolor clearcolor];
    [栏addSubview:btn];
    [BTN释放];
    < /代码> 
    
    

    这肯定会帮助您解决相同的所有查询。…

    只有这样才不允许视图重叠。

    这是一个棘手的部分…… 只使用自定义后退按钮设置导航栏按钮左侧的图像

    enter image description here

    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];
    

    这肯定会帮助您解决所有相同的问题。enter image description here