Как мне сделать свечение элемента UIBarButtonItem? - PullRequest
3 голосов
/ 19 апреля 2010

В приложении «Карты» при нажатии кнопки отслеживания в левом нижнем углу она светится, показывая, что она нажата. Это заставляет его вести себя как радио-кнопка, и он не будет светиться, когда вы перемещаете карту. Есть ли простой способ, кроме кнопки в нажатом состоянии?

Ответы [ 5 ]

11 голосов
/ 19 апреля 2010

Полагаю, вы ищете свойство showsTouchWhenHighlighted для класса UIButton. Попробуйте это.

myButton.showsTouchWhenHighlighted = YES;
10 голосов
/ 19 апреля 2010

Установите его стиль UIBarButtonItemStyleDone.

3 голосов
/ 20 июля 2012

Вы можете сделать его пользовательский вид такой кнопкой:

`

UIImage *image = [UIImage imageNamed:@"someimage"];
UIImage *imageHL = [UIImage imageNamed:@"someimage_selected"];
button = [UIButton buttonWithType:UIButtonTypeCustom];

[button setImage:image forState:UIControlStateNormal];
[button setImage:imageHL forState:UIControlStateHighlighted];
[button addTarget:self action:@selector(doStuff:) forControlEvents:UIControlEventTouchUpInside];    
myBarButtonItem.customView = button;

`

1 голос
/ 24 февраля 2012

Использование UIBarButtonItemStylePlain.

UIBarButtonItemStylePlain
Светится при нажатии.

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

Если у вас UIBarButtonItem с image/text или UIBarButtonSystemItem, используйте UIBarButtonItemStylePlain

barButton.style = UIBarButtonItemStylePlain;

Если у вас есть UIBarButtonItem с пользовательским представлением, то для каждого UIButton следует добавить следующий код:

uiButton.showsTouchWhenHighlighted = YES;
...