首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Iphone自定义导航栏-白盒错误

Iphone自定义导航栏-白盒错误
EN

Stack Overflow用户
提问于 2011-04-12 14:09:39
回答 2查看 578关注 0票数 0

我的问题很简单。我使用了导航栏的子类化方法,然后使用drawRect尝试绘制我自己的自定义导航栏图像。然而,它并没有画出我的图像。只有一个空白区域。

我的项目的结构是一个选项卡栏,每个选项卡下都有一个导航控制器。每个导航控制器都有一个导航栏,我在IB中将这些导航栏设置为我的自定义类(customNavBar)。

在我的customNavBar.h文件中,我有:

代码语言:javascript
复制
@interface customNavBar : UINavigationBar {
}

@end

在我的customNavBar.m文件中有:

代码语言:javascript
复制
#import "customNavBar.h"


@implementation customNavBar

-(void) dealloc{
    [super dealloc];
}


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

@end

你知道为什么我的图像可能不会显示,而是只显示白色背景吗?我的图像在资源文件夹下的项目中。

谢谢大家。:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-12 14:42:12

当我在一个测试项目中实现你的代码时,我确实看到了这个图像。然而,我做到了

代码语言:javascript
复制
[image drawInRect:self.frame];

图像最终覆盖了导航栏的下半部分,上半部分是白色的(就像你看到的那样)。也许你的形象被画得太低了?尝试使用rect值,或者像我一样将其设置为self.frame,看看会发生什么。如果您仍然看不到图像,请确保在界面构建器中将您导航条类实际设置为您的自定义类,且正在调用代码来绘制您的导航栏(请确保将print语句放入其中)。

票数 1
EN

Stack Overflow用户

发布于 2011-08-19 04:25:59

它实际上应该是:

代码语言:javascript
复制
[image drawInRect:self.bounds];

别忘了Reitna-dislay的navigation_bg@2x.png

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5631053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档