2012-08-10 4 views
1

3 개의 그룹으로 그룹화 된 테이블보기를 만들고 각 그룹의 높이가 다른 셀이 있습니다. Storyboard에서 적절한 높이로 3 개의 프로토 타입 셀을 설정하고 각 행에 대해 적절한 높이를 반환하도록 UITableViewController를 설정했습니다. 그러나 어떤 이유로 화면에 나타날 때 내 모든 셀의 높이가 1 픽셀에 불과합니다.heightForRowatIndexPath가 셀 높이를 설정하지 않습니다.

코드를 밟았으며 올바른 높이와 셀이 각 행에 대해 반환됩니다. 또한 각 셀의 프레임이 반환되기 전에 올바른지 확인했습니다. 그러나 rectForRowAtIndexPath을 호출하면 각 행의 rect은 높이가 1 픽셀에 불과하다는 것을 알 수 있습니다.

이 문제는 일정한 셀 높이를 사용할 때 완전히 사라집니다. 이 상황에서는 셀이 완벽하게 표시됩니다. 셀의 높이가 가변적이어서 셀의 길이가 너무 짧거나 높습니다.

아이디어가 어떻게되고 있습니까? 나는 각 행에 대한 rect가 어떻게 결정될 때 밑줄을 치고 싶습니다. heightForRowAtIndexPath을 사용할 때. heightForRowAtIndexPath에 대한

코드 :

- (NSInteger)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{  
    switch (indexPath.section) { 
     case 0: 
      return 80.0; 
      break; 

     case 1: 
      return 260.0; 
      break; 

     case 2: 
      return 110.0; 
      break; 

     case 3: 
      return 114.0; 
      break; 

     default: 
      break; 
    } 
    return 0; 
} 
+0

'heightForRowAtIndexPath'에 대한 코드를 게시 할 수 있습니까? –

+0

코드를 게시하면 도움을받을 수 없습니다. – AAV

+0

내 코드를 추가했습니다. 참고 나는 또한 동일한 문제가 발생하는 단일 번호를 반환하려고 시도했습니다. 예를 들어, rowHeight를 55로 설정하면 모든 것이 정상적으로 작동하지만 heightForRowAtIndexPath에서 55를 반환하면 모든 셀이 1 픽셀 높습니다. –

답변

2

작성 .

해당 사항은 CGFloat이어야합니다.

+0

정말 고마워요. 나는 그것을 놓쳤다는 것을 믿을 수 없다. 그것은 나를 미치게했다. –

1

단순히 .simply에서 indexpath 행의 높이에 대한 방법을 쓰기 행의 높이를 증가시키는 단순히 당신은 NSInteger을 반환 tableView:heightForRowAtIndexPath:을 선언 한

if (indexpath.section== 0) 

    return 50; 
+3

위 코드와 다른 점은 무엇입니까? –

+0

@ 대니얼 .. 편집을위한 ...thnxs ... – Bajaj

+0

andrew 브라운 당신은 회전 부분을 쓸 수 있고 나는 코딩 부분을 씁니다. 간단한 차이 .. .. 캔트 차이를 참조하십시오 :-))) – Bajaj

관련 문제