setNeedsDisplay适用于iPhone,但不适用于iPad
有问题的视图是在IB视图中创建的,并连接到rootViewController中的类方法。 在视图的类方法中,我重写drawRect来绘制它的内容。 我在用户更改一些参数后从rootViewController的视图上调用setNeedsDisplay。
在iPhone上这工作正常。 但是,在iPad上,类方法中的drawRect不会被调用。
我怀疑这个原因与绘图周期有关。 在iPhone上,用户使用的用于更改参数的视图被推送到屏幕上方的视图中。 在iPad上,这个视图被添加到上面的根视图中,而不是在视图中。 因此,当用于更改参数的视图关闭时,与iPhone不同,不会生成绘图循环,因此无效视图不会更新。
我卡住了。 任何帮助将被赏识。
发现问题...
我发现在iPad的根视图控制器使用的xib中,所讨论的UIView对象的接线是如何被破坏的。 当我在.h文件中的iIBOutlet变量的子弹上方移动时,将选择xib中其他位置的UISegmentedControl而不是预期的UIView。 右键单击UISegmentedControl并未显示链接存在。 我能够解决这个问题的唯一方法就是从两个物体上取下所有的接线并正确地重新接线。 调用setNeedsDisplay现在可以工作。 正如预期的那样,在iPad上就像它在iPhone上一样。
链接地址: http://www.djcxy.com/p/95781.html