Search code examples
iphoneimageuibarbuttonitemappearance

How can I replace UIBarButton image with custom image?


I tried setting it to custom and put image onto it, but it only changes middle icons, how can I change the whole button appearance?

I want to put this icon: http://cl.ly/image/3B2P0p0p1e1a

But all I get is this: http://cl.ly/image/3M2j2Y292l2K


Solution

  • use this bellow code..

    - (void)viewDidLoad
    {
            UIImage *menuButtonImage = [UIImage imageNamed:@"list.png"];// set your image Name here 
            UIButton *btnToggle = [UIButton buttonWithType:UIButtonTypeCustom];
            [btnToggle setImage:menuButtonImage forState:UIControlStateNormal];
            btnToggle.frame = CGRectMake(0, 0, menuButtonImage.size.width, menuButtonImage.size.height);
            UIBarButtonItem *menuBarButton = [[UIBarButtonItem alloc] initWithCustomView:btnToggle];
            [btnToggle addTarget:self action:@selector(toggleCalendar) forControlEvents:UIControlEventTouchUpInside];
            self.navigationItem.leftBarButtonItem = menuBarButton;
    }