2010-10-25 3 views
3

Могу ли я показать UIBarButtonItem с черным стилем на мой взгляд без нижнего UIToolBar?iphone - Как я могу использовать стиль UIBarButtonItem без UIToolBar

UIToolbar всегда имеет вид границы вещи, я хочу, чтобы система UIBarButtonItem в черном так же, как черный стандартной кнопки отмены, но не UIToolbar

Как я могу это сделать?

Благодаря

ответ

3

есть нахальный хак, который поможет вам в этом.

Вы хотите использовать UISegmentedControl со стилем, установленным на UISegmentedControlStyleBar, и только один элемент. Кроме того, необходимо setMomentary к да - заставить его вести себя как кнопка:

UISegmentedControl *myCustomButton = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"Hello",nil]]; 
[myCustomButton setSegmentedControlStyle:UISegmentedControlStyleBar]; 
[myCustomButton setTintColor:[UIColor blackColor]]; 
[myCustomButton setMomentary:YES]; 
[self.view addSubview:myCustomButton]; 

Это даст вам кнопку, которая выглядит как UIBarButtonItem, что вы можете добавить в свой обычный вид, как если бы это была кнопка. Вы можете добавить цель и действие. :)

Это то, что вы получите: что-то вроде этого:

alt text

+0

спасибо Томасу, он работал. но проблема в том, что если я нажму на нее, у нее не будет никаких основных функций, я имею в виду некоторые эффекты, чтобы показать эту кнопку нажатой. Как добавить функцию выделения? – Jack

+0

это должно ... то, что делает 'setMomentary', он показывает кратковременное выделение, как обычная кнопка ... попробуйте установить tintColor на' darkGrayColor' и посмотреть, не имеет значения. Возможно, «blackColor» слишком темный, нет более мрачного. :п –

0

я точно не делал ничего подобного, но я полагаю, вы могли бы каким-то образом установить все подвиды альфа в UIToolbar к нулю за исключением UIBarButtonItem. Просто оставьте UIBarButtonItem видимым.

UIToolBar наследуется от UIView, поэтому моя первая попытка - установить его backgroundColor на clearColor.

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