У меня есть набор UIButtons и UILabels, которые я хочу погасить, когда выбрана одна кнопка, и это правильная кнопка.UIButtons не будет исчезать во время блока анимации
Я пробовал несколько вещей (прокомментировал их в блоке кода), и только UILabels исчезают. Что мне здесь не хватает?
-(IBAction)answerButtonPressed:(UIButton *)sender {
NSLog(@"Game Question Answer Pressed: %i", sender.tag);
NSLog(@"%@", sender.titleLabel.text);
int selectedAnswer =0;
selectedAnswer = [question.answer intValue];
if (selectedAnswer == sender.tag) {
NSLog(@"GameQ %@ is the correct answer", sender.titleLabel.text);
//self.toggleView;
[labelA setAlpha:0];
[labelB setAlpha:0];
[labelC setAlpha:0];
[labelD setAlpha:0];
/*
[buttonA setAlpha:0];
[buttonB setAlpha:0];
[buttonC setAlpha:0];
[buttonD setAlpha:0];
[buttonA setHidden:YES];
[buttonB setHidden:YES];
[buttonC setHidden:YES];
[buttonD setHidden:YES];
*/
[sender setAlpha:1];
[sender setHidden:NO];
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.5];
[UIView animateWithDuration:2.0
delay:0.0
options: UIViewAnimationCurveEaseOut
animations:^{buttonA.alpha = 0;}
completion:nil];
[UIView setAnimationDelegate:[UIApplication sharedApplication]];
[UIView setAnimationDidStopSelector:@selector(endIgnoringInteractionEvents)];
[UIView commitAnimations];
С тех пор я очистил метод и использовал только один тип блока анимации. UIButton все еще не погаснет, но это делает лейбл. Вот что я имею в качестве блока анимации:
[UIView animateWithDuration:2.0
delay:0.0
options: UIViewAnimationCurveEaseOut
animations:^{buttonA.alpha = 0;}
completion:nil];
[UIView animateWithDuration:2.0
delay:0.0
options: UIViewAnimationCurveEaseOut
animations:^{labelA.alpha = 0;}
completion:nil];
Я очистил метод и принял ваше предложение сделать более «современный» метод. Тем не менее кнопка остается, но ярлык исчезает, как раньше. Что-то должно меняться? Пожалуйста, ознакомьтесь с моими изменениями в первоначальном сообщении. – Nungster
вам не нужно несколько блоков для всего, что вы хотите изменить. Вы можете поместить свою меткуA.alpha = 0; И ваша кнопкаA.alpha = 0; в том же блоке. Вы уверены, что подключили buttonA к экземпляру кнопки в построителе интерфейса? То есть Неужели это сейчас? – MarkPowell
LOL Я такой идиот. Да, поскольку я отправлял сообщения методу с отправителем ID, мне не нужно было подключать мой рефлектор. Теперь, когда мне нужно было отправить сообщение, я проверил, и нить не была подключена. – Nungster