У меня проблемы с поведением одного из моих UIButtons
.Я пытаюсь по существу сделать это кнопкой переключения , но я сталкиваюсь с проблемой ниже.
У меня есть код:
UIButton *likeButton = [[UIButton alloc] initWithFrame:CGRectMake(horizontalOffset+buttonWidth, verticalOffset, buttonWidth, buttonHeight)];
[likeButton setImage:[UIImage imageNamed:@"like-off.png"] forState:UIControlStateNormal];
[likeButton setImage:[UIImage imageNamed:@"like-on.png"] forState:UIControlStateHighlighted];
[likeButton setImage:[UIImage imageNamed:@"like-on.png"] forState:UIControlStateSelected];
[likeButton addTarget:self action:@selector(likeButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
, который запускает метод:
-(void)likeButtonPressed:(id)sender {
UIButton *button = (UIButton *)sender;
[button setSelected:!button.selected];
}
Поведение, которое я вижу, заключается в том, что когда я нажимаю кнопку (и выделяю ее), она работает, как ожидалось, и изображение 'like-on.png' используется для выделенного состояния и остается включенным в состоянии 'selected' .
Однако, когда я снова нажимаю кнопку, чтобы выключить ее, я вижу выделенное серым цветом состояниекогда я нажимаю на палец.Когда я отпускаю палец, я вижу, что 'like-off' изображение отображается, как и ожидалось.
Мне бы хотелось не видеть выделенное серым цветом состояние, когда я нажимаю палец на кнопке, когда я отключаю ее. Вместо этого я хотел бы убедиться, что выделенное состояниеon выключение использует изображение 'like-on.png' , как указано в коде.
Что здесь происходит?Любые идеи, где мой код может быть неправильным?
Большое спасибо, Бретт