设置UINavigationBar高度

时间:2012-04-11 21:17:03

标签: ios uinavigationcontroller uinavigationbar

我在网上和堆栈溢出中搜索了很多,我看到有很多关于这个问题的问题,所以我想搜索一个解决方案,但我找不到它,我已经将子类化了UINavigationBar将我的自定义图像用于我的NavigationBar,但是拉伸以填充导航栏的大小,我如何才能增加高度?

这就是我的工作方式,我只用一个UINavigationController创建了一个Xib文件,然后在界面构建器中我为NavigationBar设置了My CustomClass:

UINib *nib = [UINib nibWithNibName:@"CustomNavigationController" bundle:nil];
UINavigationController *navController = 
[[nib instantiateWithOwner:nil options:nil] objectAtIndex:0];

然后是我的自定义类:

@implementation CustomNavigationBar

- (void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed:@"NavigationBar.png"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}

我试图改变这里的高度,self.frame.size.height,但是高度大小不会改变,只改变我缩放的图像......有办法设置导航的大小我的图像尺寸吧?

2 个答案:

答案 0 :(得分:0)

也许尝试类似的事情:

- (void)drawRect:(CGRect)rect {
    UIImage *image = [UIImage imageNamed:@"NavigationBar.png"];
    self.frame = CGRectMake(0, 0, image.size.width, image.size.height);
    [image drawInRect:self.frame];
}

答案 1 :(得分:-1)

导航栏的高度是固定的。你无法改变它。您可以通过实现自定义视图来滚动自己的导航栏。