导航栏图片隐藏自定义导航栏按钮
问题描述:
我可以给图片导航栏,也改变了导航栏按钮项的图像。由于某种原因导航栏图像,我猜,重叠导航栏按钮图像。当我点击左侧的导航栏图像时,导航栏按钮正常工作,但不会在导航栏图像上显示。这里是代码;导航栏图片隐藏自定义导航栏按钮
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];
帮我一把。
答
使用代码 [imageView addsubView someButton];
我希望现在你会看到按钮。实际上,你正在添加左栏按钮项目到默认导航栏和当你创建somebutton它没有得到添加在imageview这是重叠您的导航bar.So通过点击该区域正在工作,但按钮不可见。
答
Ketan你检查了图像吗?图像是否存在于您的项目中? 为什么你对导航栏标题使用框架和内容模式属性? 可能这个链接帮助你
+0
在您提到的项目中使用的图像只有一个垂直条(一条线),并且我具有给导航栏的完整图像,但唯一的问题是导航栏按钮不显示。 – Ketan 2012-04-09 11:48:39
答
- (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的对象。之后,使您的导航栏的自定义按钮。享受和喜欢它
试试imageView.clipToBounds = YES; – Amit 2017-07-02 02:17:07