2010-06-16 6 views
3

UITableView를 통해 사용자 지정 콘텐츠를 그리는 데 문제가 있습니다. 내가 한 일은 서브 클래스 jQuery과이었고, 덮어 쓰기 -이 같은 (무효)의 drawRect 방법 뭔가를 :UITableView 위에 사용자 지정 그림

- (void)drawRect:(CGRect)rect 
{ 
    CGContextRef ctx = UIGraphicsGetCurrentContext(); 

    [super drawRect:rect]; 

    CGContextSetRGBFillColor(ctx, 255, 0, 0, 1.0f); 
    CGContextFillRect(ctx, CGRectMake(10, 10, 10, 10)); 
} 

문제는 내가 내 빨간색 사각형을 볼 수 있지만 테이블 뷰 셀 아래에 있다는 것입니다. 위 메서드에서 [super drawRect : rect] 호출에 주석을 달더라도 셀은 계속 표시됩니다.

내 생각에 내부적으로 tableview의 drawRect 메서드를 호출하는 사람은 이후에 셀을 그립니다. 따라서 drawRect 덮어 쓰기는 셀이 이후에 항상 그려지기 때문에 충분하지 않습니다.

+0

아마도 [[super drawRect : rect];'?] 뒤에'CGContextRef'를 가져야할까요? – kpower

+0

안녕하세요, 당신은 특히 drawRect 메서드를 재정의하여 UITableView를 하위 클래스화할 것인지 궁금합니다. tableView 매우 사용자 정의 할 수 있습니다. – RickiG

+0

@kpower - 작동하지 않습니다. 게다가, 내가 말했듯이, 내가 [super drawRect : rect] 호출을 완전히 제거하면, 내 셀은 여전히 ​​그림을 그립니다. @RickiG UITableView에 스냅 기능을 추가하고 싶습니다. 테이블은 어딘가에 "마커"를 가지고 있으며, 테이블을 드래그하고 손가락을 놓으면 테이블은 마커를 가장 가까운 셀과 자동 정렬합니다 (간단히 말하면, 나는 수평 피커를 만듭니다). 스냅 "마커"를 그리려면 전경 이미지가 필요합니다. –

답변

1

테이블 뷰를 덮을 이미지가 필요한 경우. 대신 UIImageView를 뷰에 하위 뷰로 추가하십시오.

새 UIImageView 프레임을 만들고 x/y 좌표도 지정할 수 있습니다.

[self.view addSubView:myView]; 
관련 문제