我已经下载了Apple提供的GLPaint示例,并试图了解其结构。

我想更改应用程序中使用的brushImage,以便可以更改绘图时使用的画笔类型。我试图重新加载视图,以便找到一种方法来仅重新初始化与设置brushImage有关的内容,但是我什么都无法工作。

有谁知道如何在此代码示例中修改此属性?

最佳答案

您可以将画笔图像代码从initWithCoder:(NSCoder *)编码器抽象为它自己的方法,然后动态更改brushImage,例如,

我有

- (void)setBrushType:(kBrushType)bType {
    CGImageRef      brushImage;

    ...

    if (bType == kBrushTypeEraser) {
        brushImage = [UIImage imageNamed:@"Particle-solid.png"].CGImage;
    } else if (bType == kBrushTypeSolid) {
        brushImage = [UIImage imageNamed:@"Particle-solid.png"].CGImage;
    } else if (bType == kBrushTypeSoft) {
        brushImage = [UIImage imageNamed:@"Particle-soft.png"].CGImage;
    } else {
        NSAssert1(FALSE, @"Invalid brush type: %d", bType);
    }

    ...

    if(brushImage) {
    ...
    }
}


其中kBrushType是所有不同画笔类型的枚举。

10-08 01:02