我有以下方法,由于某种原因不显示图像:
- (void)drawRect:(CGRect)rect
{
float cornerRadius = self.bounds.size.width/RADIUS_RATIO;
UIBezierPath *roundedRect = [UIBezierPath bezierPathWithRoundedRect:self.bounds cornerRadius:cornerRadius];
[roundedRect addClip];
[[UIColor whiteColor] setFill];
UIRectFill(self.bounds);
[[UIColor blackColor] setStroke];
[roundedRect stroke];
CGRect imageRect = CGRectInset(self.bounds,
self.bounds.size.width * 0.5,
self.bounds.size.height * 0.5);
if (self.faceUp)
{
UIImage *cardFace = [UIImage imageNamed:[NSString stringWithFormat:
@"%@%@.png",[self rankAsStrings],self.suit]];
if (cardFace)
{
NSLog(@"%@%@.png",[self rankAsStrings],self.suit);
[cardFace drawInRect:imageRect];
} else {
NSLog(@"No Image Found: %@%@.png",[self rankAsStrings],self.suit);
}
} else {
[[UIImage imageNamed:@"Back.png"] drawInRect:imageRect];
}
}
有人可以对此有所了解吗?
P.S。图像存在,我得到“NSLog(@”%@%@。png“,[self rankAsStrings],self.suit);”控制台中的消息。
TIA
答案 0 :(得分:1)
我认为你的imageRect
有0.0宽度和0.0高度。检查CGRectInset
方法的文档 - 它将原始矩形减少2 * dx和2 * dy。
答案 1 :(得分:0)
我会这样做的:
myView.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"MyProfilePic.png"]];