基本上我有这个
@implementation MyView : CPView
{
CPArray MyPanelArray;
}
// Populate the MyPanelArray and position each panel
- (void)initMyView
{
...
}MyPanels几乎是图像的包装器。当一切都被初始化后,它就会绘制得很好。然后我有一个滑块来操作图像的位置,我知道如何重绘所有内容的唯一方法是用一个新的实例覆盖MyView,并在主contentView中执行如下操作
// Has the correct effect, but feels wrong
- (void)sliderAction:(id)sender
{
var myNewView = [MyView initWithPositionValue:[sender value]];
[_contentView replaceSubview:_myView with:myNewView];
_myView = myNewView;
}它工作得很好,但我怀疑这是“正确的方式”。
*我知道我可以使用CPCollectionView进行基本设置,但它不会实现我想要实现的目标。
提前谢谢。
发布于 2009-05-21 17:52:56
所谓“重绘”,是指实际执行drawRect:还是只是移动/调整图像视图的大小?如果是后者,那么您可以在_myView上调用setFrame:。
https://stackoverflow.com/questions/891331
复制相似问题