UINavigationBar 自定义背景与悬垂(iOS 5)
Posted
技术标签:
【中文标题】UINavigationBar 自定义背景与悬垂(iOS 5)【英文标题】:UINavigationBar custom background with overhang (iOS 5) 【发布时间】:2012-05-11 08:53:24 【问题描述】:我正在尝试制作这个(请原谅快速而肮脏的模型):
这是一个带有自定义背景图像的 UINavigationBar。但是,图像需要悬垂在导航栏的底部。图像是不规则的形状(我的模型上的白色部分是透明的,应该通过间隙显示视图控制器的视图)。
我真的宁愿不必修改每个可能的视图控制器来绘制悬垂位。谁能想到一个聪明的解决方案来完成这项工作?
我只支持 ios 5,所以不需要向后兼容。
【问题讨论】:
【参考方案1】:其实是我自己管理的:我把背景的悬垂部分做成了单独的图片,并添加为导航栏的子视图:
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;
【讨论】:
不要只是讨厌它。一旦您发布到 ***,您就可以在几分钟后自行解决。无时无刻不在发生。啊……顺便说一句,干得好。 呵呵。它确实经常发生。另一方面,在 Stack Overflow 上发帖似乎确实有帮助,因为它以某种方式促使我的大脑想出解决方案!以上是关于UINavigationBar 自定义背景与悬垂(iOS 5)的主要内容,如果未能解决你的问题,请参考以下文章
如何使用自定义背景图像从 UINavigationBar 和 UIToolbar 中删除圆角?
iOS 11 UINavigationBar 自定义背景总是在状态栏下扩展