Vorrei creare una barra di navigazione con le immagini come pulsanti sul lato destro della barra di navigazione.iOS: barra di navigazione con immagini per pulsanti
Qualcosa di simile sotto Snapshot
Come posso raggiungere questo obiettivo?
Vorrei creare una barra di navigazione con le immagini come pulsanti sul lato destro della barra di navigazione.iOS: barra di navigazione con immagini per pulsanti
Qualcosa di simile sotto Snapshot
Come posso raggiungere questo obiettivo?
Spero che questo aiuti
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;
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];
Qui il codice, basta chiamare sotto i metodi Da viewDidLoad
metodo
- (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;
}
Questo non funziona. Cerca di mettere l'immagine su un pulsante. Voglio che l'immagine sia il pulsante stesso. –
In altre parole, non sono riuscito a ottenere lo screenshot che ho postato utilizzando questo codice. –
@Karamshad Button è molto grande. Come impostare la dimensione corretta in forma sulla barra di navigazione? –
Io uso una categoria per questo:
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:)]
credo che questo è quello che sto cercando. Come posso gestire i tocchi su questo pulsante? –
Bello !! Ho provato sia questa che la risposta di Kamarshad, ma questa risposta è molto migliore in quanto l'icona del pulsante sembra carina con "initWithCustomView" – swiftBoy