Пожалуйста, проверьте EDIT 3Segue задержки UIButton выделить
У меня есть UIButton, что при нажатии мне нужно, чтобы она неактивна немедленно. Im, используя этот код в качестве декларации:
UIButton *myButton;
myButton = [[UIButton alloc] init]; //[UIButton buttonWithType:UIButtonTypeCustom];
myButton.frame = CGRectMake(132, 375, 40, 40);
buttonImage = [UIImage imageNamed:@"chat.png"];
[myButton setImage:buttonImage forState:UIControlStateNormal];
[myButton addTarget:self action:@selector(myButtonInvoked:)forControlEvents:UIControlEventTouchDown];
[cell.contentView addSubview:myButton];
А вот метод, что кнопка запускает
- (void) myButtonInvoked:(id)sender
{
UIButton *catchButton = (UIButton *)sender;
CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:buttonPosition];
[UIView animateWithDuration:5
delay:0.0
options:UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat | UIViewAnimationOptionCurveEaseInOut
animations:^{
catchButton.alpha = 0.4;
catchButton.enabled = NO;
}
completion:NULL];
[self performSegueWithIdentifier:@"hereToThere" sender:self];
}
Im, используя UIAnimation кода, чтобы сделать кнопку серого цвета при нажатии, обратите внимание, что у него есть задержка 0, но UIButton выделяется с задержкой. Как я могу избавиться от этой задержки? Мне нужно myButton, чтобы сразу серое.
Редактировать
Я теперь пытался добавить commentsButton.showsTouchWhenHighlighted = YES;
, а также попытался установить изображение для кнопки в UIControlStateNormal и подсвечена изображение, которое является тем же самым, но серый .. что задержки, а также.
Однако, если я помещаю NSLog
в начале метода, я вижу, что он печатается сразу же при нажатии кнопки, так почему же он не может сразу обновить изображение? Я полностью испробовали все со следующим, чтобы попытаться получить эту работу:
A) выделение
B) изменение образа
C) изменение альфа в UIButton
Я также поставил это в методе, чтобы увидеть, будет ли это работать.
catchButton.highlighted = YES;
[catchButton setImage:[UIImage imageNamed:@"chatHighlighted.png"] forState:UIControlStateSelected | UIControlStateHighlighted];
EDIT 2
Я просто создать простой UIButton точно так же, как с @selector (methodHere :) и альфа изменения немедленно. Должна быть какая-то другая причина, которая задерживает эту задержку? Супер смущает сейчас.
EDIT 3 закомментировав самую последнюю строку в методе myButtonInvoked:
выше (см):
[self performSegueWithIdentifier:@"hereToThere" sender:self];
.. установка myButton.alpha = 0.4
запускает сразу (визуально) и проблема исчезла. Почему это происходит, и как я могу обойти эту проблему?
, который длительность братан не задержка, длительность, сколько времени воспроизведения анимации см ссылка может быть поможет вам HTTP: // StackOverflow ,com/questions/23832780/uiview-animatewithduration-handles-to-fast –
Хороший улов и предложение .. попробовал код в ссылке, как уместно в моей ситуации ... все еще испытывает задержку – Chisx