ITunesU cs193p講座をやっています。SuperCard の例に示すように、次のコードを使用して画像をカードの前面に描画しようとしていますが、何らかの理由で画像が UIView に描画されません。いくつかの助けをいただければ幸いです。
//using an image for the face of the card, i'm going to look it up to see if it exists
if (self.faceUp){
UIImage *faceImage = [UIImage imageNamed:[NSString stringWithFormat:@"%@%@", [self rankAsString], self.suit]];
NSLog(@"the faceImage is %@", faceImage);
if (faceImage) {
//i'm defining where and how big this is going to be // the 1.0 - the scale factor, basically means 90% of the card size that i'm going to use
CGRect imageRect =CGRectInset(self.bounds,
self.bounds.size.width * (1.0-self.faceCardScaleFactor),
self.bounds.size.height * (1.0-self.faceCardScaleFactor));
[faceImage drawInRect:imageRect];
} else {
[self drawPips];
}
私は次のことを試し、辞書を使用して動作させました:
if (self.faceUp){
//renamed some png pictures and imported them into the Images.xcassets folder
NSDictionary *cardImages=@{@"J":@"jack.png",@"Q":@"queen.png",@"K":@"king.png"};
UIImage *faceImage = [UIImage imageNamed:[NSString stringWithFormat:@"%@", [cardImages valueForKey:[self rankAsString]]]];
if (faceImage) {. . . .
しかし、以前のコードが画像を取り込めなかった理由はまだわかりません。たとえば、Image.Xassets に示されているキング オブ ハートの画像の名前は「K♥」です。スタンフォードのサイトからコードをダウンロードしたとき、ビューに画像を描画することもできなかったので、他の人がこの問題を抱えていたのではないかと思っています.
ありがとう。