Я создаю кнопку «Отмена» со своим собственным фоновым изображением следующим образом:
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 с настраиваемым представлением.