Если я использую UIBarButtonSystemItemCancel, его цвет соответствует значению панели навигации. Однако в приложении «Фотографии» кнопка «Отмена» отображается синим фоном. Как я могу настроить UIBarButtonSystemItemCancel на синий фон?Изменить цвет UIBarButtonSystemItemCancel
0
A
ответ
3
ваш может использовать изображение в качестве изображения кнопки в
UIImage *buttonImage = [UIImage imageNamed:@"image.png"];
//create the button and assign the image
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:buttonImage forState:UIControlStateNormal];
//create a UIBarButtonItem with the button as a custom view
//UIBarButtonItem *customBarItem = [[UIBarButtonItem alloc] initWithCustomView:button];
[button addTarget:self action:@selector(clickActionItem:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button ];
self.navigationItem.rightBarButtonItem = rightBarButtonItem;
2
установить theNavigationController.navigationBar.barStyle в UIBarStyleBlackTranslucent
theNavigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;
и кнопки будет синим по умолчанию.
+0
К сожалению, у меня есть пользовательский оттенок для навигатора. Я пробовал это, но он не работает – CastToInteger
1
Существует лучший способ, чем использовать изображение. UISegmentedControl можно настроить так, чтобы UIBarButtonItem и UISegmentedControl имели свойство tintColor.
UISegmentedControl *button = [[[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:itemTitle, nil]] autorelease];
button.momentary = YES;
button.segmentedControlStyle = UISegmentedControlStyleBar;
button.tintColor = color;
[button addTarget:theTarget action:selector forControlEvents:UIControlEventValueChanged];
UIBarButtonItem *removeButton = [[[UIBarButtonItem alloc] initWithCustomView:button] autorelease];
Я построил UIBarButtonItem category, который сделает это.
если вы хотите разместить кнопку бара в левом, u можете сделать это из self.navigationItem.leftBarButtonItem = переменная urbarbutton. –
Спасибо, ваше предложение является хорошим обходным решением, но я надеялся, что это будет возможно без обхода – CastToInteger