2014-08-27 2 views
3

프로그래밍 방식으로 테이블 뷰와 셀을 생성합니다. 아이폰 OS 8에서 이동 한있는 tableview 세포 분리기, 테이블 뷰 셀 구분 기호는 ios 8로 이동했습니다.

enter image description here

은 내가 이미 설정 한 경우에도 :

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return kSomeNumber; 
} 

내 애플 iOS7에이고 내 전화 iOS8의입니다. 무엇이 문제 일 수 있습니까? iOS8 전용 cell.layoutMargins을 사용할 수 없습니다.

+0

설명해 주시겠습니까? "세퍼레이터가 옮겨 졌음"을 의미합니까? –

+0

안녕하세요 세포 높이가 동일하지만 구분 기호가 위로 이동했습니다 – Ted

답변

5

iOS8에는 레이아웃을 유발하는 layoutMargins가 있으므로 사용자 정의 셀이있는 경우

, 그것을 제거하려면이 방법을 추가

- (UIEdgeInsets)layoutMargins 
{ 
    return UIEdgeInsetsZero; 
} 

을 또는 당신이 추가있는 UITableViewController :

responsToSelector는 iOS7에

을 지원하기 위해 필요한
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{ 

    if ([cell respondsToSelector:@selector(setLayoutMargins:)]) { 
     [cell setLayoutMargins:UIEdgeInsetsZero]; 
    } 
} 

자세한 내용은 iOS 8 UITableView separator inset 0 not working을 확인하십시오.

+0

고마워요! 내 사용자 지정 UITableViewCell 클래스에서'-layoutMargins'를 구현하는 것만으로 트릭을 만들었고 (iOS 7에서도 잘 작동합니다) –