Почему UIGraphics.GetCurrentContext возвращает null?

У меня есть UIViewController, который содержит 2 подпредставления (классы, производные от UIView), которые создают пользовательский рисунок с помощью UIGraphics.GetCurrentContext. Рисунок отлично работает при запуске приложения. Я подключаю подпредставления в ViewDidLoad () контроллера представления следующим образом:

DigitalNumberView dnv = new DigitalNumberView();  
dnv.Frame = new System.Drawing.RectangleF(10, 10, 750, 190);  
View.AddSubview(dnv);

CircleView tuner = new CircleView(dnv);  
tuner.Frame = new System.Drawing.RectangleF(570, 220, 190, 190);  
View.AddSubview(tuner);

Мне нужно первое подпредставление для рисования нестандартных элементов в зависимости от того, что делает второе подпредставление. Когда второе подчиненное представление получает TouchesEnded, я вызываю в первом подчиненном представлении функцию, которая отображает новые данные. Рисунок в первом подпредставлении использует UIGraphics.GetCurrentContext, который в этом конкретном рабочем процессе получает значение null. Вот пример того, как он отрисовывается:

SetNeedsDisplay();  
CGContext context = UIGraphics.GetCurrentContext ();  
if (null == context) {  
    Console.WriteLine("Retrieved null CGContext");  
    return;  
}  
RectangleF r = new RectangleF(25, 10, 180, 180);  
ClearNumber(context, r);  
DisplayNumber(context, f, r);  
UIGraphics.EndImageContext();

Почему UIGraphics.GetCurrentContext возвращает null только в этом рабочем процессе, но не при запуске? Есть ли другой способ добиться того же результата? Я что-то упустил?

6
задан Nikita Pestrov 15 June 2013 в 12:42
поделиться