UINavigationBar带有悬垂的自定义背景(iOS 5)

时间:2012-05-11 08:53:25

标签: ios cocoa-touch uinavigationbar uiappearance

我正在努力做到这一点(原谅快速和肮脏的模型):

enter image description here

这是一个带有自定义背景图片的UINavigationBar。但是,图像需要悬在导航栏的底部。图像是不规则的形状(我的模型上的白色位是透明的,应该通过间隙显示视图控制器的视图)。

我真的不必修改每个可能的视图控制器来绘制悬垂位。任何人都可以想到一个聪明的解决方案来使这项工作吗?

我只支持iOS 5,因此无需向后兼容。

1 个答案:

答案 0 :(得分:0)

实际上,我自己管理过:我将背景的悬垂部分作为单独的图像,并将其添加为导航栏的子视图:

    UIImageView *iv = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"navigationBarBackground-overhang"]];
    iv.frame = CGRectMake(0, newNavC.navigationBar.frame.size.height, newNavC.navigationBar.frame.size.width, iv.image.size.height);
    [newNavC.navigationBar addSubview:iv];
    newNavC.navigationBar.clipsToBounds = NO;