ios - UIView 子类中的 setNeedsDisplay(在 ipad Splitview 中)不调用 drawRect

标签 ios ipad

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

我正在开发一个 Ipad 应用程序来显示 X Y 图形(笛卡尔平面),用户可以在其中输入点的坐标。 (例如:2,4 和 2,8:这应该画一条直线)。 我使用了主从应用程序(因此是 Split View Controller )。

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) 我在方法中有 setNeedsDisplay,UIView 子类 (gridview) 中的“redrawGrid”调用 drawRect 以便使用新数据点重绘网格。

最佳答案

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

还要确保确实调用了 setNeedsDisplay

关于ios - UIView 子类中的 setNeedsDisplay(在 ipad Splitview 中)不调用 drawRect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15730034/

相关文章:

ios - iOS 是否支持在 UIKit 类中使用任何形式的位图字体?

java - WebRTC 和加密?

ios - 调用 dequeueReusableCellWithIdentifier :cellId inside heightForRowAtIndexPath

iphone - iOS:如何获取未处理的 std::exception 的堆栈跟踪?

iphone - 当方向改变时在 UIWebView 中找到横向和纵向的图像位置

iphone - 迁移到通用应用程序 (iPhone/iPad)

iphone - 将内阴影应用到 UILabel

iphone - CoreBluetooth 可以使用什么配置文件?

ios - 在 View Controller 中隐藏/显示控件

ios - 裁剪 UIView 快照