1

我的问题是关于我的 UIView 子类中的 setNeedsDisplay 方法,它不会在同一个类中调用 drawRect。

我正在开发一个 Ipad 应用程序来显示一个 XY 图形(笛卡尔平面),用户可以在其中输入点的坐标。(例如:2,4 和 2,8:这应该画一条垂直线)。我使用了一个主从应用程序(所以是一个拆分视图控制器)。

1)最初UIView子类中的drawRect绘制初始网格。当用户添加新点(x,y 值)时,我需要将线动态添加到网格中

2)然后在输入 x 和 y 值(在 MasterViewController 中)后,我在 UIView 子类(gridview)中调用点更新方法,如下所示:

- (void) updateGrid
{
    // this is a mutable array of newly created points
    self.gridview.pointList = self.pointList; 
    [self.gridview redrawGrid];
}

3)我在UIView子类(gridview)中的方法中设置了setNeedsDisplay,“redrawGrid”来调用drawRect,以便用新的数据点重绘网格。

4

1 回答 1

1

我的猜测是你的内部有问题drawRect:。在方法中放置一个断点drawRect:,你应该很快就能看到发生了什么。

还要确保它setNeedsDisplay真的被调用了。

于 2013-03-31T13:56:40.700 回答