2010-12-01 3 views
0

사용자 UI의 움직임을 추적하는 UIView에서 배경 이미지 위에 선을 그려 넣으려고합니다. UIImage를 배경으로 그린 ​​다음 drawRect에서 선 그리기를 수행하면 drawRect가 호출 될 때마다 이미지를로드해야하므로 성능이 느려집니다. 또는 UIImageView를 내 배경 이미지로 사용하면 (단지 IB 또는 프로그램 방식으로 뷰에 추가) 이미지 위로 드래그하면 선이 사라집니다. 줄이 UIImageView 위에 그려 지도록하는 방법이 있습니까? 당신의 도움을 주셔서 감사합니다. 배경보기를 할 수있는 올바른 방법이기 때문에손가락으로 iPhone을 움직일 때 이미지 위에 선을 그리는 방법

- (void)drawRect:(CGRect)rect { 
    UIImage *imageField = [UIImage imageNamed:@"field.jpg"]; 
    CGRect rectForImage=CGRectMake(0,0,200,200); 
    [imageField drawInRect:rectForImage]; 

     CGContextRef context = UIGraphicsGetCurrentContext(); 
     CGContextMoveToPoint(context, x1, y1); 
    CGContextAddLineToPoint(context, x2, y2); 
    CGContextStrokePath(context); 
} 

답변

1

이미지를 추가 :

는 여기에있는 UIImage 방법을 사용하여 내 코드입니다. 문제는 뷰에 이미지를 직접 추가 한 사실에 있습니다. 하위보기는보기의 맨 위에 표시되고 뒤에는 표시되지 않습니다. 이미지 뷰를 배경으로 유지 한 컨테이너 뷰를 올바르게 사용한 다음 그 위에 선 그리기 뷰를 사용하십시오.

+0

데이비드. 매력처럼 일했습니다. (새 뷰에서 Opaque 속성을 NO로 설정합니다). – JMH

1

투명 CALayer에 (불투명 한) 선을 그려 넣은 다음 UIView 위에 CALayer를 배치하여 배경 UIImage 위에 놓을 수 있습니다.

관련 문제