1

스타일이 '그룹화 됨'으로 설정되고 셀이 섹션의 첫 번째 또는 마지막 섹션 인 경우 UITableViewCell에 맞춤 그라데이션 배경을 그리는 데 문제가 있습니다. 나의 접근 방식은 단순히 CAGradientLayer를 작성하고이 같은 뷰에 추가하는 것입니다 Background exceeding the edges그룹화 된 UITableViewCell의 사용자 정의 배경 그리기

사람이 배경이에 맞게 만드는 방법에 대한 힌트를 가지고 있는가 :

CAGradientLayer *gradient = [CAGradientLayer layer]; 
gradient.frame = rect; 
gradient.colors = [NSArray arrayWithObjects:(id)[_backgroundColorLight CGColor], (id)[_backgroundColorDark CGColor], nil]; 
[self.backgroundView.layer insertSublayer:gradient atIndex:0]; 
self.backgroundView.layer.masksToBounds = YES; 

불행하게도이 같은 세포를 생산하는 일이 세포 경계선?

감사
-f

답변

2

사용자 정의 배경을 그릴 경우, 당신은 또한 국경을 직접 그릴 수 있습니다. 밖에 꽤 많은 오픈 소스 자료가 있습니다.

기본적으로 상단/중간/하단/단일 인 경우 [셀에 있음]을 알고 있어야하며 drawRect에서 내용을 잘라야합니다. 당신은 insertSublayer로 멀리 가지 않을 것입니다.

체크 아웃 PageCellBackground 클래스를 여기서 찾을 수 있습니다 : http://cocoawithlove.com/2010/12/uitableview-construction-drawing-and.html

+0

위대한 방법입니다. 감사! – flohei

1

나는 그것을 시도하지했지만 CAGradientLayer 그래서 아마 그 borderRadius이 작동 설정의 CALayer의 서브 클래스로 발생합니다. 그러나 모든 구석을 둥글게하므로 레이어를 셀보다 크게 만들고 셀 뷰를 잘라내어 보완 할 수 있습니다.

더 많은 예제는 Rounded UIView using CALayers - only some corners - How?을 참조하십시오.

관련 문제