0

目前我正在将我的 UIBarButtonItem 设置为具有透明背景的 40x40 像素图像。当我将 UIBarButtonItem 设置为此图像时,它会产生以下结果:

在此处输入图像描述

我只想要没有绿色背景的人的形象。我该怎么做呢?

我试过的代码:

 self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"profile-barbutton.png"] style:UIBarButtonItemStylePlain target:self.navigationController action:@selector(myselector)];

还尝试了以下操作(以及使用 initWithTitle:@"" ...

工作但选择器不再引用 UINavigationController

以下代码会产生异常 [MasterViewController toggleMenu]: unrecognized selector,因为该选择器位于我的 NavigationController 类中,该类之前被 UIBarButtonItem 引用,但现在不再存在。

      UIButton *profileBarButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 40.0f, 40.0f)];
    [profileBarButton setImage:[UIImage imageNamed:@"profile-barbutton.png"] forState:UIControlStateNormal];
    [profileBarButton addTarget:self action:@selector(toggleMenu) forControlEvents:UIControlEventTouchUpInside];



    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:profileBarButton];

    [self.navigationItem.leftBarButtonItem setTarget:self.navigationController];
    [self.navigationItem.leftBarButtonItem setAction:@selector(toggleMenu)];
4

1 回答 1

1

您要设置背景图像,而不是图像。尝试这个:

[self.navigationItem.leftBarButtonItem setBackgroundImage:[UIImage imageNamed:@"profile-barbutton.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 
于 2013-07-24T21:31:23.367 回答