0

私のコードから始めましょう:

UIImage *tempImage = [UIImage imageNamed:@"TileMap.gif"];
[tempImage drawInRect:CGRectMake(0, 0, tileSize, tileSize)];


mapLabels[w][h] = [[UILabel alloc] initWithFrame:CGRectMake(cursor.x, cursor.y, tileSize, tileSize)];
mapLabels[w][h].text = [NSString stringWithFormat:@"%d", map[w][h]];
mapLabels[w][h].backgroundColor = [UIColor colorWithPatternImage: tempImage];
mapLabels[w][h].textAlignment = UITextAlignmentCenter;


[self.view addSubview:mapLabels[w][h]];

でタイルの地図を作りましたUILabelsImageラベルにを付けたかったので、 を使用しましたcolorWithPatternImage。それは機能しますが、タイルの写真は非常に高解像度であり、UILabelタイルは任意のサイズにすることができるため、画像を同じサイズにする必要があります。でスケーリングするために現在やろうとしていることは機能してdrawInRectいませんが、ヒントはありますか?

4

1 に答える 1

0

UIImages には scale プロパティがあります。次のようなものを試すことができます:

tempImage.scale = mapLabels[w][h].tileSize.x / tempImage.tileSize.x
于 2012-07-30T21:30:31.453 に答える