0

也许有更好的方法来设置它,所以我愿意接受建议。

但这就是我正在做的事情。我有一个主 UIView。最重要的是,我有一个 UIImageView 和另一个 UIView。当 UIImageView 改变时,我想改变第二个 UIView。所以我有一个类,IB对象的类型设置为类。在该类的 .m 中是一个绘制一些矩形的 drawRect 方法。.m 中还有一个综合的 NSMutableArray 属性。我在主视图的控制器中创建了该类的一个实例。

问题:尽管 drawRect 在应用程序启动时工作正常(如调试器中所跟踪),但当 UIImageView 更改时,我在更新 @synthesize'd 数组后在第二个视图的实例变量上调用“setNeedsDisplay”但是drawRect 不会被调用。

我认为这与实例有关。我不认为线程在这里会成为问题。我只想根据还显示的图像在屏幕的单独区域中绘制。

4

1 回答 1

0

好的,对于那些看到这个并遇到类似问题的人......

这确实是一个“实例”问题。我在 IB 中创建了辅助 UIView。我想因为我在那里建立了连接,所以代码在启动时运行良好。

解决方法是以编程方式创建子视图并将其添加到主视图。这样一来,只有一个实例。更新@synthesize'd 数组变量和随后对drawRect 的调用(通过setNeedsDisplay)转到辅助视图的一个实例,即我作为子视图添加到主视图的那个实例。问题解决了。

于 2010-05-11T02:38:57.497 回答