#objective-c #cocoa-touch
#objective-c #cocoa-touch
Вопрос:
Как я могу отключить нажатие UIButton… пока я показываю графику в течение 5 секунд?
self.view.userInteractionEnabled = NO; // if you need the whole view disabled
//self.btn.enabled = NO; //if you need button only disabled
[UIView animateWithDuration:3.0f animations:^
{
// your graphical changes
[(UILabel*)addLbl[1] setBackgroundColor:[UIColor redColor]];
}
completion:^ (BOOL finished)
{
self.view.userInteractionEnabled = YES;
//self.button.enabled = YES;
[(UILabel*)addLbl[1] setBackgroundColor:[UIColor whiteColor]];
}
];
Ответ №1:
Вы можете использовать метод задержки:
//make your animations and graphical changes..
//....
self.myButton.enabled = NO;
[self performSelector:@selector(changeButton) withObject:nil afterDelay:5.0]; //this will happen after 5 seconds
-(void)changeButton {
self.myButton.enabled = YES;
}
Ответ №2:
// ОТРЕДАКТИРОВАНО. Попробуйте это вместо
self.view.userInteractionEnabled = NO; // if you need the whole view disabled
[UIView animateWithDuration:3.0f animations:^ {
[(UILabel*)addLbl[1] setBackgroundColor:[UIColor redColor]];
} completion:^ (BOOL finished) {
[UIView animateWithDuration:2.0f animations:^ {
[(UILabel*)addLbl[1] setBackgroundColor:[UIColor whiteColor]];
} completion:^ (BOOL hasFinished) {
self.view.userInteractionEnabled = YES;
}];
}];
Комментарии:
1. после этого сегмента кода я добавляю другое графическое изображение, однако выполнение не будет отображать временное графическое изображение, когда я добавляю другое графическое изображение после этого сегмента кода
2. Если вам нужно анимировать несколько последовательностей в строке, например, первая: открывается дверь; вторая: человек входит в дверь — тогда попробуйте поместить другие ваши анимации в блок завершения первой анимации. Дайте мне знать, если это звучит понятно.
3. Я сделал это, и это после блока… в результате временное графическое изображение никогда не отображается
4. Полагаю, мне понадобится ваш фрагмент кода, чтобы помочь вам лучше. Пожалуйста, поделитесь этим.
5. если я оставлю это изменение обратно на белый, оно останется красным (временное изображение)