setNeedsDisplay
не сработает, если он думает, что пользователь не может видеть, что его рисунок по очевидной причине. Это включает в себя закадровый и скрытый вид, даже когда приложение работает.
В приложении, в котором вы могли бы рисовать данные с течением времени, вы должны нарисовать все соответствующие данные, одновременно зарисовывая их на заднем плане, когда приложение возобновит работу.