0

我对 Xcode 相当陌生,但对编程并不陌生。

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

我不熟悉NIB,只有故事板。

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

  1. 每秒从计时器刷新 10 次的图形,模拟监视器的读数。
  2. 在此下方有按钮/文本框等来更改控制图形输出的参数。

我正在尝试让计时器触发图表的刷新。我尝试添加一个 imageView(在 Storyboard 和代码中)无济于事。

我找不到实现这一点的方法,我找到了一种使用旧式 NIB 的方法。这使用 View 的 'owner' 实例,但 Storyboard 不使用 View 的 'owner' 。

viewController 是否有一些特殊之处,不允许显示此输出(在 viewController 中)?

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

谁能告诉我该怎么做?

非常感谢。

4

1 回答 1

0

你应该'永远'尝试自己调用 drawRect 。它应该只在正确的时间由操作系统调用。它设置了一个 GraphicsContext 来绘制,还计算出要绘制的矩形以及需要绘制的其他重叠视图!

setNeedsDisplay而是打电话!:)


所以。例如

- (void) refreshTimerDidFire {
    [viewToRefresh setNeedsDisplay];
}
于 2013-03-30T10:25:15.410 回答