1
안녕하세요. 샌드 박스에 저장된 일부 .png 이미지를 그려 내고 UIView에 텍스트를 출력하려고합니다. 내 코드는 다음과 같습니다.UIView로 그려야합니다.
-(void)setItemDetails:(ItemShow *)itmShow
{
if(theItem!=itmShow)
{
[theItem release];
theItem=itmShow;
[theItem retain];
}
UIImage *rImage=[UIImage imageNamed:@"years"];
[[UIColor blackColor] set];
[rImage drawInRect:CGRectMake(55.0, 22.0, 17.0, 17.0)];
[[UIColor brownColor] set];
[theItem.itemYear drawAtPoint:CGPointMake(7.0,19.0)
forWidth:100
withFont:[UIFont systemFontOfSize:17.0]
minFontSize:17.0
actualFontSize:NULL
lineBreakMode:UILineBreakModeTailTruncation
baselineAdjustment:UIBaselineAdjustmentAlignBaselines];
}
그 후이 메소드를 viewDidLoad에서 호출합니다. 아무 반응이 없습니다. UIView의 캔버스에 이미지와 텍스트를 볼 수 없습니다. 여기 뭐가 잘못 됐니?
솔직하게 말해서, 나는 UIViewController를 그리려하고 있습니다. 나는 당신의 코드를 다음과 같이 시도했다 : - (void) drawRect : (CGRect) rect { CGContextRef myContext = UIGraphicsGetCurrentContext(); UIImage * rImage = [UIImage imageNamed : @ "년"]; CGRect imageRect = CGRectMake (10, 10, 300, 400); [rImage drawInRect : imageRect]; [rImage release]; 하지만 아무 것도 그려지지 않았습니다. – NCFUSN
@ Nathan 화면에서 그리기위한 유일한 장소는 UIView입니다. UIViewController에 drawRect를 넣으면 "dead code"상태로 남을 것입니다. 메서드가 호출되지 않습니다. UIView를 서브 클래스 화하고 그 drawRect를 오버라이드하고, 해당 UIView의 인스턴스를 만들고, 그 인스턴스를 UIViewController의'self.view'에 할당해야합니다. – dasblinkenlight
확인. 시도해 볼게. 고맙습니다. – NCFUSN