IOS: ширина кнопки UINavigationItem - PullRequest
0 голосов
/ 22 ноября 2011

Я создаю кнопку «Отмена» со своим собственным фоновым изображением следующим образом:

UIBarButtonItem *leftBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(onCancel)];

[leftBarButton setBackgroundImage:[UIImage imageNamed:@"doneButtonActive.png"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
[leftBarButton setBackgroundImage:[UIImage imageNamed:@"doneButtonInactive.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

[self.navigationItem setLeftBarButtonItem:leftBarButton];
[leftBarButton release];

У меня проблема, кнопка слишком широкая. Она почти в два раза больше, чем должнабыть.Я попытался изменить свойство ширины без эффекта.Я использую iOS5, и она одинакова на сетчатке и без сетчатки (у меня есть две версии изображений: для сетчатки и без сетчатки).

Можно ли изменить ширину другим способом?Я знаю, я могу создать кнопку с настраиваемым видом, но это не так "родной", и мне придется сделать "Графический парень", чтобы изменить изображения.

ОБНОВЛЕНИЕ Проблема решена.Невозможно редактировать кнопки стиля системы.Необходимо создать UIButton с настраиваемым фоном и создать UIBarButtonItem с настраиваемым представлением.

1 Ответ

0 голосов
/ 06 декабря 2011

Проблема решена. Невозможно редактировать кнопки стиля системы. Необходимо создать UIButton с пользовательским фоном и создать UIBarButtonItem с пользовательским представлением.

...