2012-10-29 40 views

Trả lời

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

Tôi nghĩ rằng đây là những gì tôi đang tìm kiếm. Làm thế nào tôi có thể xử lý các thao tác trên nút này? –

+1

Đẹp !! Tôi đã thử cả hai điều này và dưới đây Kamarshad trả lời nhưng câu trả lời này là tốt hơn nhiều như biểu tượng nút trông đẹp với "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

đây Bộ luật, Chỉ cần gọi dưới Methods Từ viewDidLoad phương pháp

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

Điều này không hoạt động. Nó cố gắng để đưa hình ảnh trên một nút. Tôi muốn hình ảnh là nút chính nó. –

+0

Nói cách khác, tôi không thể đạt được ảnh chụp màn hình mà tôi đã đăng bằng mã này. –

+0

@Karamshad Button rất lớn. Làm thế nào để thiết lập kích thước phù hợp với thanh điều hướng? –

1

tôi sử dụng một loại cho việc này:

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 

Cách sử dụng:

UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithImageOnly:[UIImage imageNamed:@"image"] target:self action:@selector(someAction:)] 
Các vấn đề liên quan