iOS: Navigation bar with images for buttons

后端 未结 4 1812
天命终不由人
天命终不由人 2021-01-02 07:43

I would like to create a NavigationBar with images as buttons on the right side of the NavigationBar.

Something like below Snapshot

相关标签:
4条回答
  • 2021-01-02 08:02

    Here the Code, Just call below Methods From viewDidLoad method

      - (void)addCustomButtonOnNavBar
      {
       UIBarButtonItem * item1= [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"passImageNmae1"] style:UIBarButtonItemStylePlain target:self action:@selector(yourButtonAction1)];
       UIBarButtonItem * item2= [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"passImageNmae2"] style:UIBarButtonItemStylePlain target:self action:@selector(yourButtonAction2)];
      NSArray * buttonArray =[NSArray arrayWithObjects:item1,item2 ,nil];
    
       self.navigationItem.rightBarButtonItems =buttonArray;
    
      }
    
    0 讨论(0)
  • 2021-01-02 08:04

    Hope This Helps

    viewController.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourimage.png"]];
    UIBarButtonItem * item = [[UIBarButtonItem alloc] initWithCustomView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourimage2.jpg"]]];    
    viewController.navigationItem.rightBarButtonItem = item;    
    
    0 讨论(0)
  • 2021-01-02 08:04
    UIView *viewWithButtons = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 44)];
    //view customization
    UIButton *leftButton = [UIButton buttonWithType:UIButtonTypeCustom];
    //Button customiztaion
    [viewWithButtons addSubview:leftButton];
    UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeCustom];
    //Button customiztaion
    [viewWithButtons addSubview:rightButton];
    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:viewWithButtons];
    [viewWithButtons release];
    
    0 讨论(0)
  • 2021-01-02 08:05

    I use a category for this:

    UIBarButtonItem+WithImageOnly.h:

    #import <UIKit/UIKit.h>
    
    @interface UIBarButtonItem (WithImageOnly)
    
    - (id)initWithImageOnly:(UIImage*)image target:(id)target action:(SEL)action;
    
    @end
    

    UIBarButtonItem+WithImageOnly.m:

    #import "UIBarButtonItem+WithImageOnly.h"
    
    @implementation UIBarButtonItem (WithImageOnly)
    
    - (id)initWithImageOnly:(UIImage *)image target:(id)target action:(SEL)action {    
        CGRect frame = CGRectMake(0, 0, image.size.width, image.size.height);
        frame = CGRectInset(frame, -5, 0);
    
        UIButton *button = [[UIButton alloc] initWithFrame:frame];
        [button setImage:image forState:UIControlStateNormal];
        [button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
    
        return [self initWithCustomView:button];
    }
    
    @end
    

    Usage:

    UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithImageOnly:[UIImage imageNamed:@"image"] target:self action:@selector(someAction:)]
    
    0 讨论(0)
提交回复
热议问题