2011-04-11 106 views
8

我添加自定义按钮,导航控制器导航控制器添加自定义按钮无边框

 
    UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back.png"] 
                    style:UIBarButtonItemStylePlain 
                    target:self 
                    action:@selector(backAction)]; 
    self.navigationItem.leftBarButtonItem = backButton; 

它工作正常,但按钮显示为界。我该如何解决这个问题?

UPDATE 我找到了解决方案

 
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 25, 25)]; 
    [button setImage:[UIImage imageNamed:@"back.png"] forState:UIControlStateNormal]; 
    [button addTarget:self action:@selector(buttonFavoriteClicked) forControlEvents:UIControlEventTouchUpInside]; 
    UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithCustomView:button]; 
    [button release]; 
self.navigationItem.leftBarButtonItem = back; 

回答

12

试试这个。

UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, button_width, button_height)]; 
[backButton setImage:[UIImage imageNamed:@"back.png"] forState:UIControlStateNormal]; 
[backButton addTarget:self action:@selector(backAction) forControlEvents:UIControlEventTouchUpInside]; 
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];