У меня есть приложение, в котором нажатия на кнопки запускают некоторые длительные операции, которые включают восстановление иерархии представлений. Поскольку их завершение может занять до нескольких секунд, я сделал их асинхронными и загрузил вызовы в NSOperationsQueue
. Я понимаю, что представление не будет обновлено до тех пор, пока операция не будет завершена, но, по крайней мере, я получаю перерисованную кнопку (она не застревает в подсвеченном режиме).
После этого изменения перерисовки вида задерживаются примерно на 5 с после последнего нажатия. Я пытался вызвать оба
[self setNeedsDisplay];
и
[self performSelectorOnMainThread:@selector(setNeedsDisplay) withObject:nil waitUntilDone:NO];
в асинхронной операции: ничего не меняется. Есть ли способ принудительно перерисовать представление после завершения фоновой операции?