0
當前我將UIBarButtonItem設置爲具有透明背景的40x40像素圖像。當我去的UIBarButtonItem設置爲這個形象,它產生以下結果:將UIBarButtonItem設置爲無背景圖像
我只想沒有綠色背景的傢伙的圖像。我應該如何去做這件事?
代碼我已經試過:
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"profile-barbutton.png"] style:UIBarButtonItemStylePlain target:self.navigationController action:@selector(myselector)];
也試過以下(以及初始化與initWithTitle吧:@ 「」 ......
工作,但選擇不再指向UINavigationController
以下代碼會產生異常[MasterViewController toggleMenu]:無法識別的選擇器,因爲選擇器在我的內部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)];
看到我編輯的問題。我不認爲你的上述解決方案有效。 – Apollo
你可以嘗試初始化沒有圖像的按鈕嗎? UIBarButtonItems不是UIView的子類,可能會有不同的行爲,所以你可以嘗試使用「initWithCustomView」並傳入一個具有自定義背景圖像的普通UIButton。 – Wilson
工作,但我的選擇器不再有效。你介意看一下嗎?謝謝 – Apollo