0

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

这就是我所做的,我创建了一个只有 UINavigationController 的 Xib 文件,然后在界面构建器中我为 NavigationBar 设置了 My CustomClass:

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

然后我的自定义类:

@实现自定义导航栏

- (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,但是高度大小没有改变,只改变我缩放的图像......有一种方法可以用我的设置导航栏的大小图片尺寸?

4

2 回答 2

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];
}
于 2012-04-11T21:34:36.507 回答
-1

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

于 2012-04-11T22:37:28.217 回答