【问题标题】:Back button is not visible in Navigation Bar in iPhone OS 4.0 in iPhoneiPhone OS 4.0 导航栏中的后退按钮在 iPhone 中不可见
【发布时间】:2010-06-26 13:59:07
【问题描述】:

在我的应用程序(基于视图)中,后退按钮在导航栏中不可见。如果我单击该按钮,则操作正常。这对我来说很奇怪。后退按钮在 iPhone OS 3.0 和其他系统中可见并正常工作。(OS 4.0 除外)。我目前正在使用 iPhone OS 4.0。

这是我的代码:

UIButton *btn=[[UIButton alloc] init];

[btn setImage:[UIImage imageNamed:@"Back.png"] forState:UIControlStateNormal];

[btn addTarget:self action:@selector(backAction) forControlEvents:UIControlEventTouchUpInside];
[btn setImageEdgeInsets:UIEdgeInsetsMake(0, 70, 0, 20)];
UIBarButtonItem *b=[[UIBarButtonItem alloc] initWithCustomView:btn];    
self.navigationItem.leftBarButtonItem=b;
[b release];
[btn release]; 

注意:它不仅适用于 iPhone OS 4.0。那么我该如何实现呢?

【问题讨论】:

    标签: iphone button uinavigationbar back


    【解决方案1】:

    只需在任意位置替换此代码,它就可以在 OS 4.0 中正常工作。

    UIButton *btn=[[UIButton alloc] initWithFrame:CGRectMake(0, 0, 70, 40)];
    
    UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 70, 40)];
    
    [myView addSubview:btn];
    
    UIImageView *myImage = [[UIImageView alloc] initWithFrame:CGRectMake(0,5,50,30)];
    
    [myImage setImage:[UIImage imageNamed:@"Back.png"]];
    
    [myView addSubview:myImage];
    
    [btn addTarget:self action:@selector(lOut) forControlEvents:UIControlEventTouchUpInside];
    
    UIBarButtonItem *b1 = [[UIBarButtonItem alloc] initWithCustomView:myView];
    
    self.navigationItem.leftBarButtonItem = b1;
    
    [btn release];
    
    [b1 release];
    
    [myView release];
    
    [myImage release];
    

    希望对你有帮助。

    【讨论】:

    • 你好早上好,我有同样的问题它仍然无法在 ios 4.3 上运行。我第一次使用 2 个代码来设置自定义导航栏,如下所示: UIImageView *imageView = (UIImageView *)[navBar viewWithTag:1]; if (imageView == nil) { imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"navigation.png"]]; [imageView setTag:1]; [navBar insertSubview:imageView atIndex:0]; [imageView 发布]; } 然后是您发送的代码.. 有什么帮助吗?
    【解决方案2】:
    UIButton *btn=[[UIButton alloc] initWithFrame:CGRectMake(0, 0, 44, 40)];
    [btn setImage:[UIImage imageNamed:@"info44.png"] forState:UIControlStateNormal];
    [btn setImage:[UIImage imageNamed:@"info44_glowing.png"] forState:UIControlStateHighlighted];   
    [btn addTarget:[AppDelegate sharedAppDelegate]  action:@selector(settingAction:) forControlEvents:UIControlEventTouchUpInside];
    UIBarButtonItem *settingButton = [[UIBarButtonItem alloc] initWithCustomView:btn];
    self.navigationItem.leftBarButtonItem = settingButton;
    [btn release];
    [settingButton release];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      • 2010-10-26
      • 2012-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-03
      相关资源
      最近更新 更多