2013-03-30 3 views
0

Я довольно новичок в Xcode, но не новичок в программировании.Triggering drawRect с таймера

Я использую XCode 4.6.1, используя Storyboard, создавая приложение для работы на iPad.

Я не знаком с НИБ, только с раскадровки.

Мои MainViewController необходимы две функциональные зоны -

  1. график, который обновляется из таймера 10 раз в секунду, имитирующих показаний от монитора.
  2. Ниже приведены кнопки/текстовые поля и т. Д. Для изменения параметров, управляющих выходом на график.

Я пытаюсь получить таймер, чтобы вызвать обновление графика. Я попытался добавить изображениеView (как в раскадровке, так и в коде) безрезультатно.

Я не могу найти способ реализовать это, я нашел один метод, используя NIB старого стиля. Это использует экземпляр владельца «View», но Storyboard не использует «владельца» View.

Есть ли что-то особенное в viewController, который не позволит показывать этот вывод (в viewController)?

По-видимому, мне нужно расширить свой viewController с помощью UIView, а затем реализовать функцию drawRect для перерисовки графика с помощью setNeedDisplay.

Может ли кто-нибудь сказать мне, как это сделать?

Большое спасибо.

ответ

0

вы должны «никогда» не пытаться вызвать drawRect самостоятельно. Он должен быть вызван только ОС в нужное время. Он настраивает GraphicsContext для рисования, а также определяет, что делать, и какие другие перекрывающиеся виды нужно рисовать!

звонок setNeedsDisplay вместо этого! :)


so. например

- (void) refreshTimerDidFire { 
    [viewToRefresh setNeedsDisplay]; 
} 
+0

вид ViewController является 'viewController.view', но вы должны только обновить представление, которое действительно меняется - не все –