2012-04-09 268 views
1

我可以给图片导航栏,也改变了导航栏按钮项的图像。由于某种原因导航栏图像,我猜,重叠导航栏按钮图像。当我点击左侧的导航栏图像时,导航栏按钮正常工作,但不会在导航栏图像上显示。这里是代码;导航栏图片隐藏自定义导航栏按钮

UIImage *imagebar = [UIImage imageNamed: @"schedule-strip.png"]; 
UIImageView *imageView = [[UIImageView alloc] initWithImage: imagebar]; 
imageView.frame = CGRectMake(0, 0, 190, 44); 
imageView.contentMode = UIViewContentModeScaleAspectFill; 
self.navigationItem.titleView = imageView; 


UIImage* image = [UIImage imageNamed:@"back-icon.png"]; 
CGRect frame = CGRectMake(0, 0, image.size.width, image.size.height); 
UIButton* someButton = [[UIButton alloc] initWithFrame:frame]; 
[someButton setBackgroundImage:image forState:UIControlStateNormal]; 
[someButton setShowsTouchWhenHighlighted:YES]; 
[someButton addTarget:self action:@selector(backToMore) forControlEvents:UIControlEventTouchUpInside]; 

UIBarButtonItem* someBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:someButton]; 
[self.navigationItem setLeftBarButtonItem:someBarButtonItem]; 

[someBarButtonItem release]; 
[someButton release]; 

帮我一把。

+0

试试imageView.clipToBounds = YES; – Amit 2017-07-02 02:17:07

回答

2

使用代码 [imageView addsubView someButton];

我希望现在你会看到按钮。实际上,你正在添加左栏按钮项目到默认导航栏和当你创建somebutton它没有得到添加在imageview这是重叠您的导航bar.So通过点击该区域正在工作,但按钮不可见。

0

Ketan你检查了图像吗?图像是否存在于您的项目中? 为什么你对导航栏标题使用框架和内容模式属性? 可能这个链接帮助你

http://iosdevelopertips.com/user-interface/ios-5-customize-uinavigationbar-and-uibarbuttonitem-with-appearance-api.html

+0

在您提到的项目中使用的图像只有一个垂直条(一条线),并且我具有给导航栏的完整图像,但唯一的问题是导航栏按钮不显示。 – Ketan 2012-04-09 11:48:39

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

延伸@interface MyToolBar:UIToolbar,使MyToolBar的对象。之后,使您的导航栏的自定义按钮。享受和喜欢它