所以我有一個類返回一個CALayer,其中有一個CALayers數組添加爲子圖層,但問題是它似乎沒有渲染它們中的任何一個。我想我可能會錯過CALayers的工作方式,因爲我還不是很熟悉。有人可以看看我的代碼,看看我做錯了什麼嗎?CALayer問題
- (CALayer*)drawMap {
CALayer* theLayer = [CALayer layer];
for (int y = 0; y < [self.height intValue]; y++) {
for (int x = 0; x < [self.width intValue]; x++) {
CALayer* tileLayer = [CALayer layer];
tileLayer.bounds = CGRectMake((x * [self.tileWidth intValue]), (y * [self.tileHeight intValue]), [self.tileWidth intValue], [self.tileHeight intValue]);
[tileLayer setBackgroundColor:[UIColor colorWithHue:(CGFloat)x saturation:(CGFloat)y brightness:255 alpha:1.0].CGColor];
[theLayer addSublayer:tileLayer];
}
}
[theLayer setBounds:CGRectMake([self.width intValue] * [self.tileWidth intValue], [self.height intValue] * [self.tileHeight intValue], 10, 10)];
return theLayer;
}
這是初始化和繪製地圖的代碼。
Map* myMap = [[Map alloc] initFromFile];
[myMap setWidth:[NSNumber numberWithInt:100]];
[myMap setHeight:[NSNumber numberWithInt:100]];
[self.view.layer insertSublayer:[myMap drawMap] above:self.view.layer];
我可以提供標題如果需要,但我不認爲問題在那裏,我不想要一個巨大的職位。
明顯的問題:tileWidth和tileHeight有合理的值嗎? – Tommy