2013-07-24 2 views
0

В настоящее время я устанавливаю свой UIBarButtonItem на 40x40 пикселей с прозрачным фоном. Когда я иду, чтобы установить UIBarButtonItem на это изображение, оно производит результат ниже:Настройка UIBarButtonItem для изображения без фона

enter image description here

Я просто хочу, чтобы образ парня без зеленого фона. Как мне это сделать?

код Я пробовал:

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

попытался также следующее (а также инициализирует бар с initWithTitle: @ "" ...

Работали Но Selector больше не References 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)]; 

ответ

1

Вы хотите установить фоновое изображение, а не изображение. Попробуйте следующее:

[self.navigationItem.leftBarButtonItem setBackgroundImage:[UIImage imageNamed:@"profile-barbutton.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 
+0

см. Мой отредактированный вопрос. Я не думаю, что ваше решение выше. – Apollo

+0

Можете ли вы попробовать инициализировать кнопку без изображения? UIBarButtonItems не являются подклассами UIView и могут действовать по-другому, поэтому вы можете попробовать использовать «initWithCustomView» и перейти в обычную UIButton с пользовательским фоновым изображением. – Wilson

+0

, который работает, но мой селектор больше не работает. Не могли бы вы взглянуть, пожалуйста? Спасибо – Apollo

Смежные вопросы