0
私はたぶん単純なものが欠けているかもしれませんが、ビューが表示された後にCALayersを追加するたびにレンダリングされません。CALayerビューを表示した後に追加したときに表示されない
[[imageLayers objectAtIndex:0] removeFromSuperlayer]; [imageLayers removeObjectAtIndex:0]; [[imageLayers objectAtIndex:0] removeFromSuperlayer]; [imageLayers removeObjectAtIndex:0]; firstImageOffset = (firstImageOffset + 2) % [pieceCache count]; int topIndex = (firstImageOffset + 6) % [pieceCache count]; int bottomIndex = (firstImageOffset + 7) % [pieceCache count]; float xPos = [(CALayer*)[imageLayers lastObject] position].x + kShiftXPixels; CALayer* layer1 = [CALayer layer]; [layer1 setFrame:CGRectMake(0, 0, kImageWidth, kImageHeight)]; [layer1 setContents:(id)[UIImage imageNamed:[[pieceCache objectAtIndex:topIndex] objectForKey:@"image_name"]]]; [[[self view] layer] addSublayer:layer1]; [layer1 setPosition:CGPointMake(xPos, kTopRowYPos)]; [imageLayers addObject:layer1]; CALayer* layer2 = [CALayer layer]; [layer2 setFrame:CGRectMake(0, 0, kImageWidth, kImageHeight)]; [layer2 setContents:(id)[UIImage imageNamed:[[pieceCache objectAtIndex:bottomIndex] objectForKey:@"image_name"]]]; [[[self view] layer] addSublayer:layer2]; [layer2 setPosition:CGPointMake(xPos, kBottomRowYPos)]; [imageLayers addObject:layer2];
私も同じ層を再利用し、ちょうどsetContentsを経由して別のCGImage(:)に設定内容を試してみた、これはまた、層は(より具体的にレンダリングを停止します:ここで私が使用しているコードです不透明度が0に設定されているかのようにアニメーション化されますが、まだ1)と考えられます。私は、ビューレイヤのサブレイヤを列挙することによって、レイヤが実際にビューのレイヤツリーにあることを確認しました。彼らは正しいイメージを持っているように見え、正しいポジションにいるように見えます。彼らはただ引き分けません。どんな助けでも大歓迎です。