IOS/Objective-C:带有自定义彩色图像的UIBarButtonItem

IOS/Objective-C:带有自定义彩色图像的UIBarButtonItem,ios,image,uibarbuttonitem,Ios,Image,Uibarbuttonitem,我试图在我的导航栏中显示一个带有自定义图像的uibarbuttonite。如果我只是在故事板中设置图像,它不会正确渲染。我得到的不是一个合适的图像,而是一个蓝色的方块 因此,在回答了其他问题后,我尝试使用下面的代码以编程方式创建按钮。但是,当我尝试此操作时,根本没有显示任何内容。值得注意的是,我确实在导航左侧的故事板中创建了另一个按钮 另一个按钮会干扰吗?或者下面的代码有什么问题吗?如有任何建议,将不胜感激: NSString *imageName = @"headshot-32.png";

我试图在我的导航栏中显示一个带有自定义图像的uibarbuttonite。如果我只是在故事板中设置图像,它不会正确渲染。我得到的不是一个合适的图像,而是一个蓝色的方块

因此,在回答了其他问题后,我尝试使用下面的代码以编程方式创建按钮。但是,当我尝试此操作时,根本没有显示任何内容。值得注意的是,我确实在导航左侧的故事板中创建了另一个按钮

另一个按钮会干扰吗?或者下面的代码有什么问题吗?如有任何建议,将不胜感激:

 NSString *imageName = @"headshot-32.png";
UIImage *image = [[UIImage imageNamed:imageName] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    UIBarButtonItem* profileButton = [[UIBarButtonItem alloc] initWithImage:image style: UIBarButtonItemStylePlain target:self action:@selector(profilePicPressed)];

    //this is what shows button in navbar:
   self.navigationItem.leftBarButtonItems = @[profileButton];
编辑:

这段代码之所以有效是因为某些原因。。。不确定上述代码有什么问题:

UIBarButtonItem *profileBtn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"headshot-32.png"] landscapeImagePhone:[UIImage imageNamed:@"headshot-32.png"] style:UIBarButtonItemStylePlain target:self action:@selector(profilePicPressed)];  
self.navigationItem.leftBarButtonItems = @[profileBtn];

你想在左边显示两个按钮吗?你在故事板中创建的那个和你通过代码添加的那个?是的。然而,目前我只想显示在情节提要中创建的那个。所以我在上面的代码中把lefBarbuttonite从items数组中去掉了。你的“headshot-32.png”图像是20 x 20 pts吗?它是32x32,我用它来编辑代码。不确定第一个代码出了什么问题。我认为这个问题与故事板中的其他按钮有关。它的出现和消失取决于我在项目列表中放置了多少个按钮。你想在左侧显示两个按钮吗?你在故事板中创建的那个和你通过代码添加的那个?是的。然而,目前我只想显示在情节提要中创建的那个。所以我在上面的代码中把lefBarbuttonite从items数组中去掉了。你的“headshot-32.png”图像是20 x 20 pts吗?它是32x32,我用它来编辑代码。不确定第一个代码出了什么问题。我认为这个问题与故事板中的其他按钮有关。它的出现和消失取决于我在items数组中放置了多少按钮