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

标签 ios cocoa-touch uinavigationbar uiappearance

我正在尝试制作这个(请原谅这个快速而肮脏的模型):

enter image description here

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

我真的宁愿不必修改每个可能的 View Controller 来绘制悬垂位。谁能想出一个聪明的解决方案来完成这项工作?

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

最佳答案

其实我是自己搞定的:我把背景的悬空部分做了一个单独的图片,添加为导航栏的子view:

    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;

关于ios - 带悬垂的 UINavigationBar 自定义背景(iOS 5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10548328/

相关文章:

objective-c - 设置 UINavigationBar 的标题

ios - 在 ARSCNView 中禁用实时摄像头馈送?

iphone - 我是否在滥用 UIViewController 子类化?

ios - 当图像不存在时,一切都在 View 中向上移动

cocoa - 在 Swift 中使用核心数据实现枚举的最佳方式

ios - 使用后台线程更新界面的更快方法

当将数据传回主视图时,Swift NavigationBar 被隐藏

iOS:supportedInterfaceOrientations() 的旋转问题

ios - 如何检测屏幕自动锁定是否启用

ios - NSManagedObject 编号比较失败