Чувак, я могу быть пьяным ... но в CAlayers
НЕТ метода drawRect. Я думаю, что вы можете использовать drawInContext:
, чтобы фактически (проглотить) привлечь к CALayers, но никто не человекдостаточно, чтобы сделать это со времен WW2.
Что касается отображения, вам не нужно его вызывать, оно в основном обновляет то, что вы установили, используя .contents
.
Я просто использую .contents
что-то вродеэто ...
[self.view setLayer:rearLayer];
[self.view setWantsLayer:YES];
rearLayer.frame = CGRectMake(gameBlah,gameBlah, 1024,768);
// note that we are dealing there with the mysteries of rearLayer positioning;
// it is measured by the SUPER layer of the layer in question!
// (indeed much as frame for the view is, if you think about it ..)
rearLayer.contents = (id)loadMacStylePng(@"spaceShip");
Скажем, у каждого хватило смелости написать свой собственный drawInContext:
...
В этом случае он вызывается (или абстрагируется ... или пересчитывается)или что-то), когда вы звоните displayAsNeeded
.(Мне никогда не нужно было звонить displayAsNeeded:
, это точно.)