2010-07-23 47 views
2

好日子所有;iOS上的CALayer或UIView backgroundColor UIImage 4

我不知道发生了什么变化,以防止这种工作。在iOS 3 SDK,下面的代码在CATiledLayer类工作得很好:

- (void)drawInContext:(CGContextRef)context { 
    UIImage* image = [[ResourcesManager sharedResourcesManager] getUIImageFromArray:Image_Cell_Background Index:[mazeCell zone]]; 
    UIColor* color = [[UIColor alloc] initWithPatternImage:image]; 

    [self setBackgroundColor:[color CGColor]]; 
    [color release];  

但是,编译为iOS 4和模拟器执行失败要呈现的图像。特别是因为作为子图层添加的图像渲染得很好,我感到非常困惑。只有背景不呈现。愿意花几天后

回答

2

好,我想出了一个变通。

首先,我想在一个UIView这样做的,仍然有同样的问题。然后我尝试了其他类型的具有backgroundColor属性的GUI组件。

他们都产生了同样的问题。从我所知道的情况来看,这似乎是一个错误,并且与实现新图像加载/缓存过程有关,该过程解释是否使用HD或SD图形。

基本上,它将加载背景图像作为子视图或子图层(取决于您的实现)并将其发送到后面(层次结构底部)或在任何其他子视图/子图层之前先加载它。

在IOS 3

也许backgournd图像wherey视图/层内,这样做也许苹果决定不双手柄的背景图像与子视图/子层和除去对它的支持。

但是,至少你可以设置背景颜色,甚至是透明色。我已经证实了这一点。

无论如何,使用此解决方案,直到苹果解释了为什么他们做出这个决定或修复SDK,以便它不处理它。我很想知道苹果开发者论坛对这个问题所说的话(我确信它已经被提出)。我还没有参加该计划,因为我仍然处于alpha阶段,一旦我进入测试阶段,我将进行注册。