2014-07-11 2 views
0

테이블 뷰의 각 셀에 특정 그라디언트 색상을 추가하려고합니다. 지금까지 내가 해왔 던 모든 작업은 각 셀에 대한 그래디언트로 설정됩니다. 나는 광산에 가까운 다른 게시물을 찾았지만 행 번호를 결정하고 행 번호가 쌍을 이루는 지 여부에 따라 특정 색상을 지정함으로써 행을 번갈아 바꾸는 두 가지 색상 만 설정합니다. 여기에 link이 있습니다. 다음은 각 셀의 그래디언트에 사용하는 코드입니다. 그라디언트의 각 색상을 셀에 대신 표시하려면 어떻게해야합니까?TableView의 각 셀 (또는 행)에 그라데이션의 색을 어떻게 추가합니까?

CAGradientLayer *grad = [CAGradientLayer layer]; 
    grad.frame = cell.bounds; 

    grad.colors = [NSArray arrayWithObjects:(id)[[UIColor colorWithRed:252/255.f green:135/255.f blue:208/255.f alpha:1] CGColor], (id)[[UIColor colorWithRed:253/255.f green:91/255.f blue:105/255.f alpha:1] CGColor], nil]; 

    [cell setBackgroundView:[[UIView alloc] init]]; 
    [cell.backgroundView.layer insertSublayer:grad atIndex:0]; 

고마워요!

+0

http://stackoverflow.com/questions/30478975/how-to-set-multiple-gradient-colour-in-uitableviewcell-using-cagradientlayer-in –

답변

0

cellForRowAtIndexPath에는 사용자가 보유한 셀 수에 맞게 필요한만큼 많은 switch 문을 추가 할 수 있습니다. 코드는 다음과 같습니다.

switch (indexPath.row) { 
    case 0: 
     cell.backgroundColor = [[UIColor colorWithRed:252/255.f green:135/255.f blue:208/255.f alpha:1] CGColor] 
     break; 
    case 1: 
     cell.backgroundColor = [[UIColor colorWithRed:253/255.f green:91/255.f blue:105/255.f alpha:1] CGColor] 
     break; 
    default: 
     cell.backgroundColor = //aother GCColor of your choice 
     break; 
} 

등등. 첫 번째 셀의 경우 0을 사용하고 두 번째 셀의 경우 1을 사용합니다. 보유하고있는 셀 수와 일치하는만큼 많은 사례를 추가 할 수 있습니다. 마지막 셀에 default:을 사용해야합니다.

+0

안녕하세요, 시간을내어 주셔서 감사합니다. 내 질문에 대답하기 위해,하지만 정확히 내가 뭘 찾고 있었는지 않습니다; 위의 방법을 사용하면 마지막 셀에있는 모든 방법을 통해 색상을 직접 살펴보아야 할 것입니다. (Idk, 내 질문에 자신을 잘 표현했다면 그래도 하나의 몸체로 셀에 적용 할 그래디언트를 찾고있었습니다. '그 자체로 각 셀에 선형 그래디언트 색상이 있습니다. – user3817400

+0

그래 그라데이션 배경을 추가하고 tableView를 투명하게 만들 수 없습니까? –

+0

항목을 스크롤 할 때 전체 시뮬레이터가 지연됩니다. 이것은 Xcode 6을 사용하고 있거나 일반적으로 그렇게하기 때문에 발생합니다. – user3817400

관련 문제