从定时器触发drawRect

时间:2013-03-30 07:54:05

标签: ios uiviewcontroller uistoryboard drawrect

我对Xcode很新,但对编程并不陌生。

我正在使用XCode 4.6.1使用Storyboard创建一个可在iPad上运行的应用程序。

我不熟悉NIB,只有Storyboard。

我的MainViewController需要两个功能区域 -

  1. 从计时器刷新的图表,每秒10次,模拟显示器的读数。
  2. 下面是按钮/文本框等,用于更改控制输出到图表的参数。
  3. 我正在尝试让计时器触发图表的刷新。 我试过添加一个imageView(在Storyboard和代码中)都无济于事。

    我找不到实现这个的方法,我找到了一种使用旧式NIB的方法。这使用View的“所有者”实例,但Storyboard不使用View的“所有者”。

    viewController是否有一些特殊的东西不允许显示此输出(在viewController中)?

    显然我需要使用UIView扩展我的viewController然后 使用setNeedDisplay实现drawRect函数重绘图形。

    有人能告诉我怎么做吗?

    非常感谢。

1 个答案:

答案 0 :(得分:0)

你应该'永远'尝试自己调用drawRect。它应该只在适当的时候被操作系统调用。它设置了一个要绘制的GraphicsContext,并且还要确定要绘制的矩形以及需要绘制的其他重叠视图!

转而致电setNeedsDisplay! :)


如此。例如

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