首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DisMiss导航条图像

DisMiss导航条图像
EN

Stack Overflow用户
提问于 2012-04-30 09:32:23
回答 2查看 228关注 0票数 0

我想取消我的导航栏图像(不是背景图像),.That是我在左边设置了导航栏图像。当我转到下一个控制器时,图像与后退按钮重叠。这是我的主屏幕上有蓝色标记的图像。

这是我的第二个屏幕,图像重叠

这是我用来在条形图中设置图像的代码

代码语言:javascript
复制
UINavigationBar *bar = [self.navigationController navigationBar];
UIImageView *barImg=[[UIImageView alloc]initWithFrame:CGRectMake(2, 3, 49, 39)];
barImg.image=[UIImage imageNamed:@"smalllogo.png"];

[bar addSubview:barImg];
[barImg release];

现在,我不想在我的其他屏幕上的图像,我能做什么呢?

EN

回答 2

Stack Overflow用户

发布于 2012-04-30 09:52:06

您可以做的一件事是将图像添加到viewWillAppear:方法的一侧,并在viewWillDisappear:方法时从导航栏中删除它。相关代码块如下所示。

代码语言:javascript
复制
    - (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    UINavigationBar *bar = [self.navigationController navigationBar];
    UIImageView *barImg=[[UIImageView alloc]initWithFrame:CGRectMake(2, 3, 49, 39)];
    barImg.image=[UIImage imageNamed:@"smalllogo.png"];
    barImg.tag = 100;
    [bar addSubview:barImg];
    [barImg release];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    UINavigationBar *bar = [self.navigationController navigationBar];
    [[bar viewWithTag:100] removeFromSuperview];
}

或者这里有另一个简单的解决方案。将下面的代码段添加到viewWillAppear:方法

代码语言:javascript
复制
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"smalllogo.png"]]];
[self.navigationItem setLeftBarButtonItem:item];
[item release];
票数 0
EN

Stack Overflow用户

发布于 2012-04-30 10:12:45

您已经在导航栏中添加了图像,但在进入其他视图之前没有删除它。使用`

代码语言:javascript
复制
-(void)viewWillDisappear:(BOOL)animated{

    [barImg removeFromSuperview];
}` 

将其从superview中删除。

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

https://stackoverflow.com/questions/10381379

复制
相关文章

相似问题

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