免责声明:我可能是错误的人提出这个问题,因为我在这种情况下只是一名设计师并且知道关于iOS开发的杰克。
免责声明:我是一名熟练的PHP和JS程序员,因此我的艺术/发展感并没有完全消失。
现在,我们试图重现的设计要求标题栏。目前它是一个UINavigationBar。但是,该元素显然不允许足够的自定义。
我在这里附上了设计模型的一部分;
实现这种效果的阻力最小的路径是什么(如果可能,使用原生UINavigationBar,但如果没有,则没有汗水)?
答案 0 :(得分:1)
实现这一目标的最简单方法是添加一个继承UINavigationBar
的类,并实现drawRect
方法在上下文中绘制带阴影的导航栏图像。
@interface MynavBar:UINavigationBar
@end
@implementation MynavBar
- (void)drawRect:(CGRect)rect
{
UIImage *navBarImg=[UIImage imageNamed:@"navBar.png"];
[navBarImg drawRect:rect];
[super drawRect:rect];
}
@end
使用此类作为IB中导航栏的类名。
答案 1 :(得分:0)
嗯,在你的情况下,我认为不可能使用UINavigationBar
。因为默认navigationBar
高度是只读的,所以不能以编程方式更改它。有一次,我试图制作更大的导航栏,但它并没有真正起作用,因为如果你需要它你无法控制默认的后退按钮位置。如果您不需要导航栏,我认为您应该使用带有背景图像的自定义视图,这样您就可以根据需要设置其框架。