2012-10-29 10 views

Odpowiedz

19

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

myślę, że to jest to, czego szukam. Jak mogę obsługiwać dotknięcia tego przycisku? –

+1

Nice !! Próbowałem tej i poniższej odpowiedzi Kamarshada, ale ta odpowiedź jest o wiele lepsza, ponieważ ikona przycisku wygląda ładnie z "initWithCustomView" – swiftBoy

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

Tutaj kod, zadzwoń poniżej metody z viewDidLoad metody

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

    } 
+1

To nie działa. Próbuje umieścić obraz na przycisku. Chcę, aby obraz był samym przyciskiem. –

+0

Innymi słowy nie udało mi się uzyskać ekranu, który opublikowałem przy użyciu tego kodu. –

+0

@Karamshad Button jest bardzo duży. Jak ustawić odpowiedni rozmiar pasujący do paska nawigacji? –

1

używam kategorię dla tego:

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 

Zastosowanie:

UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithImageOnly:[UIImage imageNamed:@"image"] target:self action:@selector(someAction:)] 
Powiązane problemy