그래서 반복되는 배경을 가진 UITableView를 만들려고합니다. 배경이 텍스트로 스크롤되기를 원합니다. 캐치는 배경이 2 개의 이미지라는 것입니다. 높이가 약 550 픽셀 인 상단 이미지와 높이가 2 픽셀 인 리피터 이미지가 있습니다. 상단 이미지를 테이블보기로 스크롤 한 다음 결국 상단에서 벗어나서 세그먼트 이미지가 반복됩니다. 이 뷰는 뷰 컨트롤러의 UITableView 아래에 실제로 위치합니다.UITableView 2 이미지가있는 배경 반복
여기 내 배경을 설명합니다. 테이블 스크롤이 맨 위에 스크롤 될 때 setNeedsDisplay를 호출합니다.
-(void)drawRect:(CGRect) rect
{
CGRect topRect = CGRectMake(0, _tableViewRect.origin.y, 320, min(max(0, CGImageGetHeight(top) - _tableViewRect.origin.y), _tableViewRect.size.height));
CGRect segmentRect = CGRectMake(0, topRect.size.height, 320, _tableViewRect.size.height - topRect.size.height);
if(topRect.size.height > 0)
{
CGImageRef newImageRef = CGImageCreateWithImageInRect(top, topRect);
UIImage *newImage = [UIImage imageWithCGImage:newImageRef];
[newImage drawAtPoint:CGPointMake(0,0)];
}
[[UIImage imageWithCGImage: segment] drawAsPatternInRect:segmentRect];
}
작동하지만 내 3G에서 매우 추악합니다. 누구든지 최적화 팁이나 다른 방법이 있습니까?
건배
오케이. 가장 좋은 방법은 무엇입니까. 그게 내가하고 싶었지만 실제로 아무것도 찾을 수 없었습니다. – Meroon
CGContextRef 문서 (http://developer.apple.com/mac/library/DOCUMENTATION/GraphicsImaging/Reference/CGContext/Reference/reference.html), 특히 CGContextDrawImage를 확인하십시오. .CGImageRef 속성을 사용하여 UIImage에서 CGImageRef를 얻을 수 있음을 기억하십시오. –
올바르게 블리치하는 방법을 알아 내는데 어려움이 있습니다. 이 문제를 논의하는 기사로 나를 안내 할 수 있습니까? 아니면 코드가 있습니까? 도와 주셔서 정말 고맙습니다. – Meroon