Search code examples
iphonebuttonuinavigationbarback

Back button is not visible in Navigation Bar in iPhone OS 4.0 in iPhone


In my application (View based), the back buttons are not visible in the navigation bar. If I click that button, the actions works properly. It's very weird to me. The back button is visible and properly working in iPhone OS 3.0 and others.(Except OS 4.0). I am currently working in iPhone OS 4.0.

Here is my code:

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]; 

Note: It doesn't work only iPhone OS 4.0. So how can I achieve this?


Solution

  • Simply you replace this code wherever you want and its working fine in 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];
    

    I hope it will help ypu.